Obiekt node.js process.env
wydaje się przetwarzać przypisanie właściwości inaczej niż zwykłe obiekty JavaScript. Jak mogę uzyskać, aby obiekt process.env
zachowywał się jak zwykły obiekt w tym przypadku?node.js process.env: przypisanie właściwości process.env do niezdefiniowanych wyników w typie łańcucha znaków?
Poniżej znajduje się przykładowy kod ilustrujący różne zachowanie przydziału. Z jakiegoś powodu przypisywania undefined
do wyników nieruchomości w typu string (tylko dla process.env
):
function demo(description, dict) {
console.log(description);
dict.A = undefined;
console.log('typeof dict.A: ' + typeof dict.A + '\n');
}
demo('Passing empty object:', {});
demo('Passing process.env:', process.env);
Uzyskany wynik jest różny w zależności czy pusty obiekt {}
lub przedmiot process.env
została podjęta:
$ node test.js Passing empty object: typeof dict.A: undefined Passing process.env: typeof dict.A: string
mam emulacji skrypt bash w JavaScript (w celu porcie todo.txt-CLI). Oba rozwiązania zadziałały. Dzięki! – Leftium
Zasługujesz na więcej niż 6 głosów w tej sprawie. Jest to zdecydowanie nieoczekiwane, jeśli używasz javascript (choć może nie, jeśli naprawdę myślisz o tym, jak działa bash.). – tandrewnichols
Dzięki za wskazanie użycia '' '' falsy –