let:git
const:es6
ES6 容许按照必定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring)。github
数组解构:数组
let [a, b, c] = [123, 456, 789] console.log(a, b, c) 123 456 789
对象解构:浏览器
let { name, age } = { name: 'Jack', age: 18 } console.log(name, age) Jack 18
函数参数解构:babel
function f (p1, { p2 = 'aa', p3 = 'bb' }) { console.log(p1, p2, p3) } f('p1', { p2: 'p2' }) p1 p2 bb
字符串解构:app
let [a, b, c, d, e] = 'hello' console.log(a, b, c, d, e) h e l l o
实用方法:ecmascript
includes(String):返回布尔值,表示是否找到了参数字符串。 startsWith(String):返回布尔值,表示参数字符串是否在源字符串的头部。 endsWith(String):返回布尔值,表示参数字符串是否在源字符串的尾部。 repeat(Number):repeat方法须要指定一个数值,而后返回一个新字符串,表示将原字符串重复Number次。
模板字符串:函数
let basket = { count: 5, onSale: true } $('#result').append(` There are <b>${basket.count}</b> items in your basket, <em>${basket.onSale}</em> are on sale! `);
${}
之中
方法:工具
Array.from() 将一个伪数组转为一个真正的数组 实际应用中,常见的相似数组的对象是DOM操做返回的NodeList集合, 以及函数内部的arguments对象。Array.from均可以将它们转为真正的数组。 Array.of() Array.of方法用于将一组值,转换为数组 这个方法的主要目的,是弥补数组构造函数Array()的不足。 由于参数个数的不一样,会致使Array()的行为有差别。 find() 查找数组中某个元素 findIndex() 查找数组中某个元素的索引下标 includes() 返回一个布尔值,表示某个数组是否包含给定的值,与字符串的includes方法相似
实例方法:
ES6提供三个新的方法——entries(),keys()和values()——用于遍历数组.
能够用 for...of
循环进行遍历,惟一的区别是 keys()
是对键名的遍历、
values()
是对键值的遍历,entries()
是对键值对的遍历。
entries() keys() values()
函数参数的默认值:
ES6 容许为函数的参数设置默认值,即直接写在参数定义的后面。 function log(x, y = 'World') { console.log(x, y); } log('Hello') Hello World log('Hello', 'China') Hello China log('Hello', '') Hello
rest 参数:
function add(...values) { let sum = 0; for (var val of values) { sum += val; } return sum; } add(2, 5, 3) 10
扩展运算符:
console.log(...[1, 2, 3]) 1 2 3 console.log(1, ...[2, 3, 4], 5) 1 2 3 4 5
箭头函数:
var f = v => v 上面的箭头函数等同于: var f = function(v) { return v }
属性的简洁表示法:
var foo = 'bar'; var baz = {foo}; baz {foo: "bar"} 等同于 var baz = {foo: foo} 除了属性简写,方法也能够简写: var o = { method() { return "Hello!" } } 等同于 var o = { method: function() { return "Hello!" } }