美文网首页
js 中的 void 0

js 中的 void 0

作者: 梧桐月明中 | 来源:发表于2020-07-27 16:49 被阅读0次

    在很多源码中的 constant.js 文件中,会发现const UNDEFINED = void 0

    为什么不直接用 undefined 呢?
    undefined 是全局对象的一个属性,初值就是基本数据类型 undefined,在 ES5 以来,它不可被配置,不可被修改。
    但是,undefined 并不是一个保留字,因此在非全局作用域中,它是有可能作为一个变量被赋值的:

    (function(undefined) {
      console.log(undefined, typeof undefined)
    })('foo')
    // 打印 foo string
    

    void 0 是什么?
    void 是一个运算符,对给定的表达式进行求值,然后返回 undefined,永远返回 undefined。也可以加括号如 void(0)void(1)

    因此使用 void 0 代替直接使用 undefined,可以避免出 bug 等情况导致的 undefined 失真。

    相关文章

      网友评论

          本文标题:js 中的 void 0

          本文链接:https://www.haomeiwen.com/subject/llvgtktx.html