箭头函数:
箭头函数与普通函数的不同点:
1.语法更简洁、直观。
2.从作用域上层继承this
。
3.bind、call和apply
对箭头函数没效果。
4.不绑定arguments
对象。
5.不能使用new
关键字。
6.没有原型(prototype)
。
1.语法更简洁:
(param1, param2, …, paramN) => { return statements }
(param1, param2, …, paramN) => statements
// 只有一个参数的时候圆括号是可选的
(param1) => statements
// 如果返回的statements是对象的话,需要圆括号括起来
param1 => (statements)
// 没有参数时是一对圆括号
() => { statements }
2.从作用域上层继承this。
// 通过bable将ES6转化为ES5
// ES6
const obj = {
getArrow() {
return () => {
console.log(this === obj);
};
}
}
// 转化后ES5
var obj = {
getArrow: function getArrow() {
var _this = this;
return function () {
console.log(_this