前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ES6中提升效率的新方法,多学一点是一点。

ES6中提升效率的新方法,多学一点是一点。

作者头像
web前端教室
发布2018-02-06 17:52:02
6720
发布2018-02-06 17:52:02
举报
文章被收录于专栏:web前端教室web前端教室

ES6,ECMAScript6是目前js的新标准,又说是现在的es6是2015年发出来的,所以又称它为ECMAScript2015,所以说es6就是es2015,好绕...

不管了,看看它的一些新东西,也挺有意思的。

////////

new Set(),用来去重数组。

代码语言:js
复制
let arr = [1, 2, 2, 3];
let set = new Set(arr);
let newArr = Array.from(set); 
console.log(newArr); // [1, 2, 3]

我试了一下,确实是数组去重了,真方便。早期的数组去重要自己封装专门的方法,用对象的健值对重复赋值的思路来去重,要写一大堆东西。这就几句话完事了。

因为es6中的Set类似于数组,区别在于它所有的成员都是唯一的,不能有重复的值。这个好啊,天然的去重么。

////////

Object.assign(),看这个,能对象合并。

代码语言:js
复制
assign[əˈsaɪn]
let obj1 = {a: 1};
let obj2 = {b: 2};
let obj3 = Object.assign({}, obj1, obj2);
console.log(obj3); // {a: 1, b: 2}

也试过了,确实是合并了。简单又好用,以前要写对象合并至少得用一个空对象来中转一下,还有什么深拷贝浅拷贝的。说到这里,我觉得有必要测试一下,给它改成这样:

代码语言:js
复制
let obj1 = {a: 1};
let obj2 = {b: 2};
let obj3 = {c: 3};
let obj4 = Object.assign(obj1, obj2, obj3);
console.log(obj4); // {a: 1, b: 2, c: 3}
console.log(obj1); // {a: 1, b: 2, c: 3}

呵呵,果然啊,还得是在最左边拿个空对象放那。怎么感觉思路并没有变,只是写法变的简单了而已呢。

////////

...,es6扩展运算符。感觉就像是里面封装了一个for循环。

代码语言:js
复制
var arr = [1,2,3];
var arr2 = [...arr,4,5,6];
console.log(arr2); //[1,2,3,4,5,6]

感觉像是把join()方法和splice()方法给封装起来了。

////////

es6之中有许多新的方法和思路,不要有畏难情绪,学一点是一点,每天一小步也是新高度。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-05-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 web前端教室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档