Я выучил 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

Не определено

«Не определено» означает, что переменная была объявлена, но еще не имеет значения. Это как ящик, который ждет, чтобы его чем-то наполнили. Неопределенное значение появляется в следующих случаях:

  1. Если переменная объявлена ​​без присвоения:
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.