我正在阅读有关新ECMAScript 2015功能的内容,并且遇到了一个代码示例,该示例在箭头标题下对我没有意义。
// Lexical this
var bob = {
_name: "Bob",
_friends: [],
printFriends() {
this._friends.forEach(f =>
console.log(this._name + " knows " + f));
}
}
printFriends() {...
如何在这里运作?它不是一种方法,因为没有冒号。它不是私人功能,因为没有function
关键字。我在这里缺少什么?
答案 0 :(得分:4)
正如您在MDN上所看到的,ES2015支持定义对象方法的简写:
ES5
var obj = {
foo: function() {},
bar: function() {}
};
和ES2015的简写:
var obj = {
foo() {},
bar() {}
};
答案 1 :(得分:0)
printFriends(){...}是函数printFriends(){...}的简写 因为printFriends不接受任何参数,你可以使用()代替printFriends函数。