关于name属性问题

来源:3-16 Iterator

TYRMars

2017-08-06

var person = {
  get firstName(){
    return "Nicholas"
  },
  sayName: function(){
     console.log(this.name);
  }
}

console.log(person.sayName.name);//"sayName"
console.log(person.firstName.name);//并不是书上所说的"get firstName",而是"undefined"

这是《深入理解ES6》53页的代码问题,不明白为什么和书上的输出不一样。如果我想获取person.firstName.name,那要怎么获取?


写回答

1回答

快乐动起来呀

2017-08-07

先来回答第一个问题,es6中函数都有一个name属性,他的值就是函数名,所以第一个输出sayName是没有问题的,关于firstName是person的一个属性,他的值是Nicholas,这是个字符串所以没有name属性也就是undefined

0
0

ES6零基础教学 解析彩票项目

ES6从零开始,量身设计的迷你案例,让你全面掌握ES6

2579 学习 · 881 问题

查看课程