gpt4 book ai didi

javascript - 使用 === 运算符来测试未定义而不是使用 == 运算符有什么好处?

转载 作者:行者123 更新时间:2023-11-30 07:09:09 24 4
gpt4 key购买 nike

我通常使用以下测试来测试 JavaScript 变量是否已定义:

if (typeof a == 'undefined')
a = 'default value'

但是,我看到很多人建议使用以下内容更安全:

if (typeof a === 'undefined')
a = 'default value'

我知道 ===== 运算符之间的区别,但我无法理解为什么 typeof a == 'undefined' 可能不安全。

您能否设想第一个代码示例不安全或可能导致问题的场景?另外,使用后一种语法比第一种语法有什么优势?

最佳答案

I am unable to understand why typeof a == 'undefined' could be unsafe

这不是不安全,完全没问题。 typeof 运算符是 guaranteed to return a string ,因此您将始终比较两个字符串。 abstract equality algorithm将表现得像 strict equality .

关于javascript - 使用 === 运算符来测试未定义而不是使用 == 运算符有什么好处?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18989082/

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