在REPL中,我有以下代码:
> process.env.MY_VAR=undefined
undefined
> process.env.MY_VAR
'undefined'
如何将环境变量设置为未定义(即没有值),而不是字符串“ undefined”?
答案 0 :(得分:1)
在JavaScript中,undefined
表示可以访问事物,但具有未定义的值。
您可以尝试使用delete
,例如:
x = {a:1, b:2, c:3};
delete x.b;
// x is now {a:1, c:3}
但是我不确定您可以使用env
属性来做到这一点,即使可以,也请注意,此更改将仅应用于您的范围。我的意思是,依赖于相同环境变量的其他脚本仍将拥有它。
这是因为当您在节点中运行脚本时,它会创建自己的环境来执行,并将当前的env复制到自己的作用域中。
答案 1 :(得分:0)
如果尚未将变量分配给任何变量,则应返回undefined
。如果您将其分配为undefined
,则隐式类型强制将介入并将其更改为字符串。
如果您要取消设置现有变量,则可以使用delete process.env.MY_VAR
,然后它将返回undefined
。