我的es6
1.ES6
语法基础:
http://www.cnblogs.com/zhengjialux/p/6656962.html
问题:
1.
function add(...x){
return x.reduce((m,n)=>m+n);
}
console.log(add(1,2,3));//输出:6
console.log(add(1,2,3,4,5));//输出:15
2.
const A = [1,2];
A.push = 3;
console.log(A); //[1,2,3]
A = 10; //Error
3.结构赋值
let [first,...last] = [1,2,3];
console.log(last); //[2,3]
4.
Rest + Spread
"..."
//Rest
function f(x, ...y) {
return x * y.length;
}
f(3, "hello", true) == 6
//Spread
function f(x, y, z) {
return x + y + z;
}
f(...[1,2,3]) == 6
5.
ES6中提供了用反引号`来创建字符串,里面可包含${…}等
6.
Generators
ES6中非常受关注的的一个功能,能够在函数中间暂停,一次或者多次,并且之后恢复执行,在它暂停的期间允许其他代码执行,并可以用其实现异步。
Run-Stop-Run...
function *foo(x) {
var y = 2 * (yield (x + 1));
var z = yield (y / 3);
return (x + y + z);
}
var it = foo( 5 );
console.log( it.next() ); // { value:6, done:false }
console.log( it.next( 12 ) ); // { value:8, done:false }
console.log( it.next( 13 ) ); // { value:42, done:true }
generator能实现好多功能,如配合for...of使用,实现异步等等,我在这里就不多说了,详见。
共同学习,写下你的评论
评论加载中...
作者其他优质文章