【问题标题】:Calling function in object in ES6在 ES6 中调用对象中的函数
【发布时间】:2016-05-03 23:51:36
【问题描述】:

尝试 ES6 并遇到了这个例子:

var bob = {
      _name: "Bob",
      _friends: ["Pete", "Joe", "Larry"],
      printFriends() {
        this._friends.forEach(f =>
          console.log(this._name + " knows " + f));
      }
    }

控制台日志记录 bob.printFriends() 未定义。

【问题讨论】:

标签: ecmascript-6


【解决方案1】:

你的代码

var bob = {
  _name: "Bob",
  _friends: ["Pete", "Joe", "Larry"],
  printFriends() {
    this._friends.forEach(f =>
      console.log(this._name + " knows " + f));
  }
}
bob.printFriends();

输出

"Bob knows Pete"
"Bob knows Joe"
"Bob knows Larry"
=> undefined

您看到undefined 返回值的原因是printFriends 没有return 语句。

【讨论】:

【解决方案2】:

它对我有用。请看这个小提琴并检查控制台。您可能没有正确配置转译器。

https://jsfiddle.net/e7rb9e4o/

bob.printFriends();

输出:

Bob knows Pete
Bob knows Joe
Bob knows Larry

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-27
    相关资源
    最近更新 更多