-
我现在可以用箭头函数替换所有的函数声明/表达式吗?
-
我要注意什么?
示例:
构造函数
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) => {
// ...
};