ES6,ECMAScript6是目前js的新标准,又说是现在的es6是2015年发出来的,所以又称它为ECMAScript2015,所以说es6就是es2015,好绕...
不管了,看看它的一些新东西,也挺有意思的。
////////
new Set(),用来去重数组。
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(),看这个,能对象合并。
assign[əˈsaɪn]
let obj1 = {a: 1};
let obj2 = {b: 2};
let obj3 = Object.assign({}, obj1, obj2);
console.log(obj3); // {a: 1, b: 2}
也试过了,确实是合并了。简单又好用,以前要写对象合并至少得用一个空对象来中转一下,还有什么深拷贝浅拷贝的。说到这里,我觉得有必要测试一下,给它改成这样:
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循环。
var arr = [1,2,3];
var arr2 = [...arr,4,5,6];
console.log(arr2); //[1,2,3,4,5,6]
感觉像是把join()方法和splice()方法给封装起来了。
////////
es6之中有许多新的方法和思路,不要有畏难情绪,学一点是一点,每天一小步也是新高度。