【问题标题】:What is the type of typeof in JS [duplicate]JS中typeof的类型是什么[重复]
【发布时间】:2020-01-15 11:32:47
【问题描述】:

在我的控制台浏览器中,当我这样做时:

console.log(typeof(typeof))

它返回一个错误Uncaught SyntaxError: Unexpected token ')'

这是为什么呢?为什么我无法获取 typeof 的类型?

【问题讨论】:

  • 因为它是一个关键字。比如returniffunction 等等。它仅作为表达式的一部分有效,它本身不是表达式。
  • 另外 typeof 也不是一个函数 - 如果它有效,它应该是 typeof typeof
  • @mplungjan 相关的 Why does “typeof” not need parentheses? - 它还包括对 typeof 的确切定义。

标签: javascript types


【解决方案1】:

typeof is an operator 喜欢 &&===!

它不是一个值、变量或标识符。


与任何运算符一样,当你应用它时,你会得到一个值,typeof something 会给你一个字符串。 (就像something == somethingelse 会给你一个布尔值)。

【讨论】:

    【解决方案2】:

    MDN 的第一行说

    typeof 操作符返回一个字符串,表示类型 未计算的操作数。

    很明显,既然是运算符,就不能这样用。

    有意义的是

    console.log(typeof typeof 2)

    这总是输出string

    【讨论】:

    • 对于x 的任何值,typeof typeof x始终返回 "string",即使它未声明。除了时间死区console.log(typeof typeof x); let x = 42,在这种情况下你会得到一个错误。
    【解决方案3】:

    Typeof 是一个 operator 也是一个 keyword 而不是 data structureArray,号码等等。

    这就像你试图找到varlet的类型

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-10-30
      • 1970-01-01
      • 1970-01-01
      • 2013-11-17
      • 1970-01-01
      • 2019-07-16
      相关资源
      最近更新 更多