为了账号安全,请及时绑定邮箱和手机立即绑定

ES6 新知识

标签:
AngularJS


...运算符

将一个数组转为用逗号分隔的参数序列。

        function push(array, ...items) {

                array.push(...items);

        }

        function add(x, y) {

                return x + y;

        }

        var numbers = [4, 38];

        add(...numbers) ;

可变参数个数的函数调用

            function push(array, ...items) {  

                array.push(...items);  

            }  

            function add(...vals){

                let sum=0;

                for(let i=0;i<vals.length;i++){

                    sum+=vals[i];

                }

                return sum;

            }

            let arr = [1,2,3,4,5,6];

            let sum = add(...arr);

            console.log(sum);  //21

更便捷的数组合并

        let arr1 = [1,2];

        let arr2 = [5,6];

        let newArr = [20];

        //es5 旧写法

        newArr = newArr.concat(arr1).concat(arr2); //[20,1,2,5,6]

        console.log(newArr);

        //es6 使用扩展运算符

        newArr = [20,...arr1,...arr2];  //[20,1,2,5,6]

        console.log(newArr);

替代es5的apply方法

        // ES5 的写法  

        function f(x, y, z) {  

        // ...  

        }  

        var args = [0, 1, 2];  

        f.apply(null, args);  

        // ES6 的写法  

        function f(x, y, z) {  

        // ...  

        }  

        var args = [0, 1, 2];  

        f(...args);  

求最大值Math.max()

            // ES5 的写法  

            Math.max.apply(null, [14, 3, 77])  

            // ES6 的写法  

            Math.max(...[14, 3, 77])  

            //  等同于  

            Math.max(14, 3, 77);  

通过push函数,将一个数组添加到另一个数组的尾部

        // ES5 的写法  

        var arr1 = [0, 1, 2];  

        var arr2 = [3, 4, 5];  

        Array.prototype.push.apply(arr1, arr2);  

        // ES6 的写法  

        var arr1 = [0, 1, 2];  

        var arr2 = [3, 4, 5];  

        arr1.push(...arr2);  

新建Date类型

        // ES5  

        new (Date.bind.apply(Date, [null, 2015, 1, 1]))  

        // ES6  

        new Date(...[2015, 1, 1]);  

与解构赋值结合,生成新数组

        // ES5  

        a = list[0], rest = list.slice(1)  

        // ES6  

        [a, ...rest] = list 

下面是另外一些例子。

        const [first, ...rest] = [1, 2, 3, 4, 5];  

        first // 1  

        rest // [2, 3, 4, 5]  

        const [first, ...rest] = [];  

        first // undefined  

        rest // []:  

        const [first, ...rest] = ["foo"];  

        first // "foo"  

        rest // [] 

将字符串转为真正的数组

        [...'hello']  

        // [ "h", "e", "l", "l", "o" ]  

将实现了 Iterator 接口的对象转为数组

        var nodeList = document.querySelectorAll('div');  

        var array = [...nodeList];

©著作权归作者所有:来自51CTO博客作者sendoffice的原创作品,如需转载,请注明出处,否则将追究法律责任


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消