• ES6学习笔记-扩展运算符(...)


    扩展运算符的定义:

    es6中引入扩展运算符(...),它用于把一个数组转化为用逗号分隔的参数序列。
    它常用在不定参数个数时的函数调用,数组合并等情形。

    用法一:不定参数个数时的函数调用

    <script type="text/javascript">
            function test(arr,...items) {  
                for (var i = 0; i < items.length; i++) {
                    arr.push(items[i]);
                }
            }  
            var arr=[1,2,3];
            test(arr,[44],[55],[66]);
            console.log(arr);//[1,2,3,[44],[55],[66]]
    </script>

    用法二:数组合并

    <script type="text/javascript">
            var arr1=[1,2,3,4];
            var arr2=[5,6,7,8];
            var arr3=[...arr1,...arr2];
            console.log('arr1',arr1);//[1,2,3,4]
            console.log('arr2',arr2);//[5,6,7,8]
            console.log('arr3',arr3);//[1,2,3,4,5,6,7,8]
    </script>

    用法三:将字符串转为正在的数组

    <script type="text/javascript">

    var arr=[...'qwewrtrtyyuu'];
    console.log(arr);// ["q", "w", "e", "w", "r", "t", "r", "t", "y", "y", "u", "u"]

    </script>

    扩展运算符可以将字符串转为数组,当要注意的是一定要在待转的字符串外面加上中括号[];

    用法四:对象的浅拷贝

      <script>
                var  a={
                    name:'dfdfd',
                    age:34,
                    sex:'nv'
                }
                b={...a,age:22};
                console.log('b',b);//{name:'dfdfd',age:22,sex:'nv'}
    } </script>

    可以看到对象b的结果为{name:'dfdfd',age:22,sex:'nv'}这说明了扩展运算符可以把a的属性扩展称参数列表后赋值给b, 当b的age属性为22 这说明后面赋值的同名属性会覆盖前面的值。

     

    用法五:析构赋值

     <script>
                var a=[1,2,3,4,5];
                let[b,c]=[...a];
                console.log('a',a);//[1,2,3,4,5]
                console.log('b',b);//1
                console.log('c',c);//2
            </script>



     
     



  • 相关阅读:
    Echarts实现区级行政区划地图
    webpack4.x开发环境配置
    说说说vue.js中的组
    原生JS实现购物车功能详解
    面向对象的一些重要的基本概念
    Lucene教程
    开启事务时mybatis返回主键id
    生成二维码的方法,基于zxing
    mysql判断一条记录是否存在,如果存在,则更新此语句,如果不存在,则插入
    一:验证微信的Token
  • 原文地址:https://www.cnblogs.com/lin494910940/p/12368100.html
Copyright © 2020-2023  润新知