gpt4 book ai didi

JavaScript 未定义检查

转载 作者:数据小太阳 更新时间:2023-10-29 04:39:25 25 4
gpt4 key购买 nike

我经常看到 JavaScript 代码,其中一个函数可能接受一个“选项”对象并像这样使用它:

var name = typeof options.name !== 'undefined' ? options.name : "Bob";

这似乎等同于以下内容:

var name = options.name || "Bob"; 

现在,我了解到在某些情况下您可能实际上关心 options.nameundefined 还是 null 这对我来说很有意义,但我经常在不需要这种区分的情况下看到这种情况。

我相信我听说有人因为 IE 中的一些错误而编写这样的代码。有人可以详细说明吗?

最佳答案

我不知道 IE 中的错误,但这些语句并不完全等同:

  • 只有当 options.nameundefined 时,第一个设置 name 变量为默认的 "Bob" .

  • 每当 options.name 为假时,第二个将 name 变量设置为 "Bob"。这可以是空字符串、null 值、0 值、NaN 值、 bool 值 false,还有 undefined

例如,如果 options.name === 0,第一条语句会将 name 变量设置为 0,而第二条语句语句会将其设置为 "Bob"

关于JavaScript 未定义检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3622937/

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