DevGang
Авторизоваться

undefined и null в JavaScript

Привет, в этом уроке мы подробно поговорим о типах данных undefined и null в JavaScript, рассмотрим то как они работают где их применять и как отвечать на каверзные вопросы на собеседовании связанные с этими типами данных. Текстовое описание в полной версии поста.

Undefined

undefined - примитивный тип данных который присваивается переменным как только они были объявлены.Также присваивается аргументам функции которые не были переданы и возвращается из функций внутри которых отсутствует 'return value' или присутствует 'return' без значения.

Не может вернуться и функции которая вызвана через оператор 'new'.

А также мы можем задать это значение явно. Также мы можем получить его и в других случаях, обычно когда значение не определено.

let exampleUndefined_1;
console.log('empty variable', exampleUndefined_1);
function exampleUndefined_2(a, b) {
    console.log('func arguments', a, b);
}
exampleUndefined_2();
function exampleUndefined_3() {
    return;
}

console.log(
    'Empty return value',
    exampleUndefined_3()
)
function exampleUndefined_4() {
    let a = 2 + 2;
}

console.log(
    'No return value',
    exampleUndefined_4()
)

Нужно стараться избегать значения undefined, до того момента пока алгоритм решения вашей задачи не потребует обратного.

Для того чтобы избежать undefined есть несколько способов. Самым простым из них является инициализация переменной сразу со значением, а также использование let и const вместо var

let foo = 10;    // Good

let bar;         // Bad
bar = 10;

var baz = 10;   // Bad

Null

null - примитивный тип данных, обычно представляет собой отсутствие какого либо значения в объекте.

Об объектах поговорим позднее. Для того чтобы создать null, мы можем присвоить значение null в переменную или свойству объекта.

let nullExample_1 = null;

// Фигурные скобки используются для создания объекта.
let nullInObjectExample = {
    firstName: null,
    lastName: null,
    age: 10
};

Отличие null от undefined

null является определенным значением отсутствия объекта или отсутствия значения для которого внутри объекта определен ключ.

undefined обозначает неопределенность, а именно то что контейнер был создан но его значение не определили или свойство не было определено вовсе.

Баг оператора typeof

Если мы используем typeof для проверки тип данных null мы получи object

console.log(
    typeof null
)

Для проверки того что значение действительно null, делаем так:

const anotherNullVariable = null;

console.log(
    anotherNullVariable === null
)
* * *

Файлы с урока

undefined - link

null - link

* * *

P.S. Не забудь подписаться на мой youtube канал и на канал в telegram где я выкладываю контент каждый день.

Источники:

#JavaScript #CSS #HTML
Комментарии
Чтобы оставить комментарий, необходимо авторизоваться

Присоединяйся в тусовку

В этом месте могла бы быть ваша реклама

Разместить рекламу