gpt4 book ai didi

javascript - 这些未定义的检查在行为上是否相同?

转载 作者:行者123 更新时间:2023-11-28 20:04:38 25 4
gpt4 key购买 nike

我似乎有不同的方法来(严格相等)检查未定义:

  • if(某事===未定义)
  • if(某物的类型 === '未定义')
  • if (something === void 0)
  • 可能还有其他

快乐的场景中,他们的行为是相同的。换句话说,它们都有效。

但是,考虑到 JavaScript 的所有怪异之处,它们的行为真的相同吗?

如果是,为什么人们选择其他方法而不是第一种?这是某种遗产还是误解?因为第一个显然在可读性和意图演示上都是最清晰的。

最佳答案

if (something === undefined) 是标准的正常方式

声明的变量上的

typeof Something === 'undefined' 主要是一种过度防御的解决方案,从您可以更改 window.undefined 的时间开始。如果您不知道变量是否已声明,它的优点是不会引发错误,但我认为合法的代码不应该支持声明状态未知的变量的情况。

void 0 (或 void anything )是获取 undefined 的标准化方法,因此它相当于第一个,但没用。

关于javascript - 这些未定义的检查在行为上是否相同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21048919/

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