无法在网络上的任何位置找到此信息。使用对象文字语法创建的这两个方法之间是否存在任何差异(例如性能)?或者引擎盖下的机制完全相同?
let test = {
foo(){
console.log("foo");
return 1;
},
bar: () => {
console.log("bar");
}
}
console.log(test.foo());
console.log(test.bar());
答案 0 :(得分:1)
不应该有任何性能差异 - 简写函数属性只是语法糖。
但是,存在操作差异。简写符号是传统函数语法的缩写,而不是箭头函数。所以它相当于:
foo: function() {
console.log("foo");
}
箭头函数与传统函数表达式有许多不同的行为。见Arrow function vs function declaration / expressions: Are they equivalent / exchangeable?
您的示例函数不会执行任何取决于差异的操作,但在实际应用程序中可能会这样做。