gpt4 book ai didi

javascript - JavaScript 中 hasOwnProperty 和 if (a[b][c]) 的区别

转载 作者:行者123 更新时间:2023-12-03 11:17:44 24 4
gpt4 key购买 nike

以下两个示例似乎都有效。我只是想知道有什么区别以及它们是如何工作的?

if (a[b].hasOwnProperty(c)) {return "Works";}

if (a[b][c]) {return "Works";}

但是,出于某种原因,以下内容似乎会导致很多问题,尽管它似乎应该可以工作:
if (typeof(a[b][c]) !== undefined) {return "Works";}

我只是不太明白出了什么问题。

非常感谢,我刚刚开始,所以这可能很容易。

最佳答案

typeof x永远不可能undefined ;它永远是一个字符串。该字符串可以是 "undefined"虽然,但那不是 undefined .
a[b].hasOwnProperty(c) 之间存在差异和 a[b][c]尽管:

  • a[b][c]将是 false如果该值存在但为 falsy one ( false , 0 , "" , NaN , null , undefined ) .
  • hasOwnProperty只查看对象本身的属性,而不是原型(prototype)链。 (然而,它会返回 true 即使是假值。)
  • 关于javascript - JavaScript 中 hasOwnProperty 和 if (a[b][c]) 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51812263/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com