为Vue.js学习部分ES6新特性
1.let与const
let用于声明变量,const用于声明常量。相较于ES5,具有以下特点:
- 其作用于仅限于块内,不会自动提升作用域。
- 在相同作用域下不能有同名变量,ES5中则会用后声明的覆盖前声明的。
- 在for循环中,体现了父子作用域,即父子作用域中的同名变量互不影响(同c语言)。2.
2.解构赋值
解构赋值使得数组和对象的赋值更加简单
- 数组,如:let [ele_name1, ele_name2,....] = [value1, value2,...]。只要左右形式相同,就能进行正确解构赋值,如若元素数量小于右边值则进行不完全解构赋值。
- 对象,如:let {key1, key2, ...} = {key1:vaule, key2:value2, ...}
3.集合(SET)
set与其他面向对象语言中set相似,在set中,每对key = vaule。
4.SYMBLE
如:let varname = symble('description'),然后将varname作为obj的key,用于解决obj中的同名key问题。
5.CLASS
用于快速新建类,用法:
class name{
constructer() {
}
};
6.数组扩展
- 根据标签名称选择html文件中所有同名标签对象。let list = document.querySelectorAll('lableName'),然后转化为数组,let listArr = Array.from('list');
- 数组直接赋值let list = Array.of(1, 2, 3, 4);
7.对象扩展
- 当对象的key与vaule相同时,可以仅写一个。如:let obj { name };let obj {name : 'name'};相同。
- 对象合并:Object.assign(obj, obj1, obj2);将obj1, obj2合并到obj。
- 延展操作符:主要用于延展数组和对象,如:...arr, ...obj。方便函数的数组传参,数组合并,解构赋值等等。
8.函数
- 默认参数值,如:
function sum(num1 = 0, num2 = 0){};
此做法可以避免未传参时函数出错。 - 参数表延展
function sum(...nums){
let ret = 0;
for(let vaule of nums){
ret += value;
}
};
调用函数是可以传任意个参数。 - 箭头函数
let sum = (num1, num2) => { return num1 + num2 };
则sum(1, 2) = 3;