ES2015中的箭头函数提供了更简洁的语法。
-
现在可以用箭头函数替换所有函数声明/表达式吗?
-
我要注意什么?
示例:
构造器函数
function User(name) {
this.name = name;
}
// vs
const User = name => {
this.name = name;
};
原型方法
User.prototype.getName = function() {
return this.name;
};
// vs
User.prototype.getName = () => this.name;
对象(文字)方法
const obj = {
getName: function() {
// ...
}
};
// vs
const obj = {
getName: () => {
// ...
}
};
回拨
setTimeout(function() {
// ...
}, 500);
// vs
setTimeout(() => {
// ...
}, 500);
变量函数
function sum() {
let args = [].slice.call(arguments);
// ...
}
// vs
const sum = (...args) => {
// ...
};