Из REPL у меня есть следующий код:
> process.env.MY_VAR=undefined
undefined
> process.env.MY_VAR
'undefined'
Как установить для переменной окружения значение undefined (т.е. без значения) вместо строки undefined?





В JavaScript undefined означает, что объект доступен, но имеет неопределенное значение.
Вы можете попробовать использовать delete, например:
x = {a:1, b:2, c:3};
delete x.b;
// x is now {a:1, c:3}
Но я не уверен, что вы можете сделать это со свойствами env, и даже если вы можете, имейте в виду, что это изменение будет применено только к ВАШЕЙ области действия. Я имею в виду, что другие сценарии, использующие ту же переменную окружения, по-прежнему будут иметь ее.
Это потому, что когда вы запускаете скрипт в node, он создает свою собственную среду для выполнения, копируя текущий env в свою собственную область.
Если вы не присвоили эту переменную чему-либо, она должна вернуть undefined. Если вы назначите ему undefined, сработает неявное приведение типа и изменит его на строку.
Если вы пытаетесь отключить существующую переменную, вы можете использовать delete process.env.MY_VAR, и тогда она вернет undefined.