=>
-
箭头函数最直观的三个特点。
1.不需要 function 关键字来创建函数
2.省略 return 关键字
3.继承当前上下文的 this 关键字 -
//1.ES6 Expression Bodies(表达式) odds = evens.map(v => v + 1) pairs = evens.map(v => ({ even: v, odd: v + 1 })) nums = evens.map((v, i) => v + i) //ES5 odds = evens.map(function (v) { return v + 1; }); pairs = evens.map(function (v) { return { even: v, odd: v + 1 }; }); nums = evens.map(function (v, i) { return v + i; }); //2.ES6 Statement Bodies(声明变量) nums.forEach(v => { if (v % 5 === 0) fives.push(v) }) //ES5 nums.forEach(function (v) { if (v % 5 === 0) fives.push(v); }); //3.ES6 Lexical this ( this) this.nums.forEach((v) => { if (v % 5 === 0) this.fives.push(v) }) ES5 // variant 1 var self = this; this.nums.forEach(function (v) { if (v % 5 === 0) self.fives.push(v); }); // variant 2 this.nums.forEach(function (v) { if (v % 5 === 0) this.fives.push(v); }, this); // variant 3 (since ECMAScript 5.1 only) this.nums.forEach(function (v) { if (v % 5 === 0) this.fives.push(v); }.bind(this));友情链接:http://es6-features.org/#ExpressionBodies
-
ES6 参考链接:https://www.w3cschool.cn/ecmascript/k6ej1q66.html#let和const
ES6 是 ECMAScript 6.0
的简写,即Javascript语言的下一代标准,已经在2015年6月正式发布了,它的目标是让JS能够方便的开发企业级大型应用程序,因此,ES6的一些规范正在逐渐向Java、C#等后端语言标准靠近。ES6
规范中,比较重大的变化有以下几个方面:新增 let、const 命令 来声明变量,和var 相比,let
声明的变量不存在变量提升问题,但没有改变JS弱类型的特点,依然可以接受任意类型变量的声明;const
声明的变量不允许在后续逻辑中改变,提高了JS语法的严谨性。新增解构赋值、rest语法、箭头函数,这些都是为了让代码看起来更简洁,而包装的语法糖。
新增模块化,这是JS走向规范比较重要的一步,让前端更方便的实现工程化。
新增类和继承的概念,配合模块化,JS也可以实现高复用、高扩展的系统架构。
新增模板字符串功能,高效简洁,结束拼接字符串的时代。
新增Promise对象,解决异步回调多层嵌套的问题。
圣凡无二路,方便有多门。
浙公网安备 33010602011771号