Я выучил JavaScript много лет назад, но с тех пор уже давно им не пользуюсь. Недавно я взял его снова и рассмотрел некоторые непонятные моменты. Сегодня я обратил внимание на разницу между нулевыми, неопределенными и пустыми строками в JavaScript.
Нет
«Null» представляет преднамеренное отсутствие какого-либо значения объекта, указывая на то, что переменная не указывает ни на один объект. Это как пустая коробка, в которой ничего нет. Вот пример использования метода match()
:
let fruitName = ‘apple’; console.log(fruitName.match(/a/)) // logs [ ‘a’, index: 0, input: ‘apple’, groups: undefined ] console.log(fruitName.match(/b/)) // logs null
Не определено
«Не определено» означает, что переменная была объявлена, но еще не имеет значения. Это как ящик, который ждет, чтобы его чем-то наполнили. Неопределенное значение появляется в следующих случаях:
- Если переменная объявлена без присвоения:
console.log(favoriteFood); // logs undefined let favoriteFood = "pizza"; console.log(favoriteFood); // logs "pizza"
2. Когда переменная используется до того, как она была объявлена:
console.log(favoriteFood); // logs undefined let favoriteFood = "pizza";
Несмотря на то, что JavaScript является гибким языком, который не требует, чтобы вы сразу присваивали значение при объявлении переменной, попытка использовать переменную, которая не была объявлена во всем вашем коде, приведет к «ошибке ссылки».
console.log(favoriteFood); // causes a reference error
3. Когда вы пытаетесь получить доступ к свойству несуществующего объекта или используете другой регистр, чем тот, который вы объявили, результатом будет undefined:
let person = { name: "Alice", age: 30 }; console.log(person.favoriteFood); // logs undefined console.log(person.Name); // logs undefined console.log(person.name); // logs "Alice"
Также обратите внимание, что все функции по умолчанию возвращают значение undefined, если только не было принято решение вернуть конкретное значение.
Пустые строки
Пустая строка — это строка, внутри которой ничего нет. Это как слово без букв. Вот пример:
let favoriteFood = " "; console.log(favoriteFood); // logs an empty string
Важно понимать разницу между null
, undefined
и пустыми строками в JavaScript, поскольку они могут иметь разное значение и вести себя по-разному в разных контекстах. Зная, когда использовать каждое из этих значений, вы сможете писать более точный и эффективный код. Я надеюсь, что вы нашли это объяснение полезным в своем путешествии по обзору и изучению JavaScript.