gpt4 book ai didi

javascript - 当提供未声明的变量标识符时,typeof 如何规避 ReferenceError?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:33:01 25 4
gpt4 key购买 nike

foo; // ReferenceError: foo is not defined

typeof(foo); // undefined

当提供未声明的变量标识符时,typeof 如何避免 ReferenceError?这仅仅是 JavaScript 解释器的“魔法”,还是可以用用户空间概念来解释?

最佳答案

不,这不能用用户空间的概念来解释——如果你愿意的话,这就是“魔法”。

EcmaScript 使用 Reference specification type解释这样的情况。这些引用用于描述赋值的语义,method calls , eval还有很多。通常,GetValue algorithm调用它们以取消引用它们(例如,在表达式语句的评估中),并且当引用不可解析时,这确实会抛出 ReferenceError

typeof operator in contrast 不只是做 GetValue,还有一个特殊情况来处理这些未声明的变量引用:

  1. If Type(val) is Reference, then

    a. If IsUnresolvableReference(val) is true, return "undefined".

关于javascript - 当提供未声明的变量标识符时,typeof 如何规避 ReferenceError?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29155472/

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