Подтвердить что ты не робот

Установить переменную JavaScript = null или оставить undefined?

При объявлении переменных в верхней части функции JavaScript лучше всего установить их равными нулю или оставить как "undefined"? Другой способ спросить, какие обстоятельства требуют для каждого варианта ниже?

Вариант A:

var a = null,
    b = null;

Вариант B:

var a,
    b;
4b9b3361

Ответ 1

Я объявляю их как undefined, когда я не назначаю значение, потому что они undefined в конце концов.

Ответ 2

Это зависит от контекста.

  • "undefined" означает, что это значение не существует. typeof возвращает "undefined"

  • "null" означает, что это значение существует с пустым значением. Когда вы используете typeof для проверки "null", вы увидите, что это объект. В другом случае, когда вы сериализуете "нулевое" значение для серверного сервера, такого как asp.net mvc, сервер получит "нуль", но когда вы сериализуете "undefined" , сервер вряд ли получит значение.

Ответ 3

Как правило, я использую null для значений, которые, как я знаю, могут иметь состояние "null"; например

if(jane.isManager == false){
  jane.employees = null
}

В противном случае, если его переменная или функция, которая еще не определена (и, таким образом, в данный момент не используется), но предполагается, что она будет установлена ​​позже, я обычно оставляю ее undefined.

Ответ 4

Я лично чувствую следующее:

Undefined: данных здесь нет, и обычно их не должно быть. Undefined обычно вызывает ошибки и не должен нормально возникать. Это в значительной степени ваша задача проверить проблему с данными.

Null: данные не установлены... еще. Я использую null, когда планирую добавить данные позже.

Tl; dr: Undefined НЕ нормально (что-то неправильно, когда вы его видите), нуль отлично.

Ответ 5

Единственный раз, когда вам нужно установить его (или нет), - это если вам нужно явно проверить, что переменная a установлена ​​ровно на null или undefined.

if(a === null) {

}

... не совпадает с:

if(a === undefined) {

}

Тем не менее, a == null && a == undefined вернет true.

Fiddle

Ответ 6

Как правило, я определил null, указывая на то, что человек установил значение и undefined, чтобы указать, что никаких настроек не было.

Ответ 7

Я обычно устанавливаю его для того, что, как я ожидаю, будет возвращено из функции.

Если строка, чем я, установит ее в пустую строку = '', то же самое для object = {} и array = [], integers = 0.

используя этот метод, мне необходимо проверить значение null/ undefined. моя функция будет знать, как обрабатывать строку/массив/объект независимо от результата.

Ответ 8

Короткий ответ заключается в том, что это не влияет на то, как он проходит через стек. Однако есть ситуации, когда было бы лучше иметь дело с переменными за пределами области видимости.

Ответ 9

Вы можете использовать ''; для объявления переменной NULL в Javascript