Что значат слова undefined и null и почему они на английском в ошибках JS?
Учу JavaScript, постоянно вылетает undefined и null в ошибках и в консоли. Я понимаю, что это что-то «пустое», но не понимаю английских слов буквально. Что они дословно значат и почему их два?
2 ответа
Разберём по словам, так понятнее:
- undefined дословно «не определено» — значение, которое ещё не задали. Объявил переменную, но не присвоил — она
undefined. Это JS говорит: «я про это место ничего не знаю». - null дословно «ничто / пусто» — это пустота, которую ты задал сам, намеренно. «Здесь специально ничего нет».
Разница на пальцах: undefined — «забыли положить» (получилось случайно), null — «положили пустоту» (нарочно). Поэтому их и два слова.
Кстати, частая ошибка Cannot read properties of null дословно = «не могу прочитать свойства у null» = ты пытаешься обратиться к чему-то, чего нет. Перевёл слова — и сразу понятно, где копать.
Полезно знать ещё NaN — это Not a Number, дословно «не число». Вылезает, когда пытаешься посчитать что-то нечисловое, например 'abc' * 2. Опять же: расшифровал аббревиатуру — и смысл ясен. В JS многие «странные» слова это просто английские фразы, сжатые в термин.