什么情况下 hasOwnProperty 会返回 false?

来源:2-2 typeof和深拷贝

h4ck3r

2020-06-08

class Mammal {
  constructor() {
    this.home = 'earth'
  }
  sayHome() {
    console.log(this.home)
  }
}

class Person extends Mammal {
  constructor(name, age, height) {
    super()
    this.name = name
    this.age = age
    this.height = height
  }
  sayName() {
    console.log(this.name)
  }
}

const obj = new Person('Norbert', 27, 178)

for (const key in obj) {
  console.log(key) // home name age height
  // 没有原型上的 sayHome 和 sayName,更没有Object 原型上的属性
  console.log(obj.hasOwnProperty(key)) // true true true true
  // 不存在 false 的情况
}

所以老师能不能写一个在 for in 里执行 hasOwnProperty 还能返回 false 的例子

我找了很久都没有找到

写回答

1回答

双越

2020-06-08

const obj = { a: 100 }
obj.a // 100
obj.hasOwnProperty('a') // true
obj.toString // ƒ toString() { [native code] }
obj.hasOwnProperty('toString') // false


0
4
h4ck3r
非常感谢!
2020-06-09
共4条回复

BAT大牛带你横扫初级前端JavaScript面试(第二版)

BAT高级前端工程师亲授,结合真实面试题,提高面试成功几率

4268 学习 · 817 问题

查看课程