gpt4 book ai didi

javascript - 使用 typeof vs === 检查未声明的变量会产生不同的结果

转载 作者:数据小太阳 更新时间:2023-10-29 05:57:32 28 4
gpt4 key购买 nike

如果我有一个未声明的变量并使用 typeof,它会告诉我它是 undefined。但是,如果我随后使用 if (qweasdasd === undefined) 检查它,它会抛出异常。

我不明白这种行为,因为如果第一次告诉 undefined,那么第二次检查应该评估为 if (undefined === undefined),为什么它抛出 ReferenceError 异常?

最佳答案

typeof 看起来像一个函数调用,但它不是——它是一个运算符。允许运算符(operator)违反规则。 typeof(qweasdasd) 不假定 qweasdasd 存在;它是否存在以及它是什么是 typeof 存在要发现的。但是,当您测试 qweasdasd === undefined 时,您正在使用 qweasdasd 作为值,并且当您使用未为其赋值的变量时 JS 会报错.

关于javascript - 使用 typeof vs === 检查未声明的变量会产生不同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31671887/

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