代码之家  ›  专栏  ›  技术社区  ›  Jackie

为什么是过程。环境。不管怎样!==未定义如果在设置后设置为未定义?

  •  0
  • Jackie  · 技术社区  · 2 年前

    我有以下测试脚本。。。。

    > process.env.SOMETHING === undefined
    true
    > process.env.SOMETHING = "asdsad";
    'asdsad'
    > process.env.SOMETHING === undefined
    false
    > process.env.SOMETHING = undefined
    undefined
    > process.env.SOMETHING === undefined
    false
    > process.env.SOMETHING == null
    false
    > !process.env.SOMETHING
    false
    > process.env.SOMETHING === "undefined"
    true
    

    为什么它会被转换成字符串?

    1 回复  |  直到 2 年前
        1
  •  5
  •   CertainPerformance    2 年前

    因为 that's what Node requires. ,至少现在是这样。

    在上分配属性 process.env 将隐式地将值转换为字符串。 这种行为不受欢迎。 Node的未来版本。当值不是字符串、数字或布尔值时,js可能会抛出错误。