ES6
let
命令所在的代码块内有效,const
声明一个只读的常量。
let [foo, [[bar], baz]] = [1, [[2], 3]];//
数组的解构赋值
var { foo, bar } = { foo: "aaa", bar: "bbb" };//对象的解构赋值
number扩充
ES6在Number对象上,新提供了Number.isFinite()
和Number.isNaN()
两个方法。
数组扩充
ES6类数组对象转换成数组方法Array.from(obj) 。
Array.of(a,b,c)
方法用于将一组值,转换为数组。
find()和findIndex()。
fill()数组填充值['a', 'b', 'c'].fill(7, 1, 2)。
entries()
,keys()
和values()
——用于遍历数组
Array.prototype.includes(value)
方法返回一个布尔值
函数扩充
ES6允许默认值
function log(x, y = 'World') {
console.log(x, y);
}
箭头函数 paras => expression
x => foo
or
(para1,para2) => {}
对象扩充
var foo = 'bar';var baz = {foo};
简写形式 等价于
baz = {foo: "bar"}
方法也可以简写var o = {
method() {
return "Hello!"; 等价于
}
};
var o = { method: function() { return "Hello!"; } };
ES6使用表达式定义对象的keylet obj = {
[propKey]: true,
['a' + 'bc']: 123
};
表达式还可以定义方法名let obj = {
['h'+'ello']() {
return 'hi';
}
};
Object.assign
方法用于对象的合并,将源对象(source)的所有可枚举属性,复制到目标对象(target)。 等价于jquery的extend
扩展运算符
扩展运算符(spread)是三个点(...
)。它好比rest参数的逆运算,将一个数组转为用逗号分隔的参数序列。
// ES6的合并数组 [...arr1, ...arr2, ...arr3]
扩展运算符还可以将字符串转为真正的数组。[...'hello']
// [ "h", "e", "l", "l", "o" ]
Symbol
参考资料
http://es6.ruanyifeng.com/