Выбор ответа Junior Файлы и процессы обновлено

Тип значений process.env

Вопрос

Запуск: DEBUG=true node app.js. Что выведет код?

console.log(process.env.DEBUG === true);

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: false. Все значения в process.env строки.

Варианты ответа

  1. true
  2. undefined
  3. falseправильный ответ
  4. TypeError

Разбор

Все значения в process.env строки. Там лежит "true", и строгое сравнение с булевым true даёт false. Правильно: process.env.DEBUG === "true" или парсинг конфига при старте (например, схемой валидации).

  • true было бы, если бы env хранил типы.
  • undefined получилось бы без переменной, а здесь выводится результат сравнения.
  • Сравнение не бросает ошибок.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.