Warning: mkdir(): No space left on device in /var/www/tgoop/post.php on line 37

Warning: file_put_contents(aCache/aDaily/post/frontendInterview/--): Failed to open stream: No such file or directory in /var/www/tgoop/post.php on line 50
Frontend Interview - собеседования по Javascript / Html / Css@frontendInterview P.3763
FRONTENDINTERVIEW Telegram 3763
undefined и null

В JavaScript есть два отдельных типа для представления ничего.

Тип undefined

Это тип с единственным возможным значением: undefined.

Кроме этого, в языке определена глобальная переменная со значением undefined, и эта переменная так и называется — undefined. Не являясь константой, она не является и ключевым словом. Из этого следует, что её значение можно с лёгкостью переопределить.

Несколько случаев, когда возвращается undefined:
- При попытке доступа к глобальной переменной undefined (если она не изменена).
- Неявный возврат из функции при отсутствии в ней оператора return.
- Из операторов return, которые ничего не возвращают.
- В результате поиска несуществующего свойства у объекта (и доступа к нему).
- Параметры, которые не были переданы в функцию явно.
- При доступе ко всему, чьим значением является undefined.

Обработка изменений значения undefined
Поскольку глобальная переменная undefined содержит копию настоящего значения undefined, присвоение этой переменной нового значения не изменяет значения типа undefined.

Но при этом, чтобы сравнить что-либо со значением undefined, прежде нужно получить значение самой переменной undefined.

Чтобы защитить код от переопределения переменной undefined, часто используется техника анонимной обёртки, которая использует отсутствующий аргумент.

var undefined = 123;
(function(something, foo, undefined) {
// в локальной области видимости `undefined`
// снова ссылается на правильное значене.

})('Hello World', 42);


Другой способ достичь того же эффекта — использовать определение внутри обёртки.

var undefined = 123;
(function(something, foo) {
var undefined;
...

})('Hello World', 42);


Единственная разница между этими вариантами в том, что последняя версия будет больше на 4 байта при минификации, а в первом случае внутри анонимной обёртки нет дополнительного оператора var.

Использование null

Значение null записывается литералом null. Оно является самостоятельным, а не свойством глобального объекта (как undefined). В API, null часто присутствует в местах где ожидается объект, но подходящего объекта нет.

null является определённым значением отсутствия объекта, тогда как undefined обозначает неопределённость. Например:

var element;
// значение переменной element до её инициализации не определённо: undefined

element = document.getElementById("not-exists");
// здесь при попытке получения несуществующего элемента, метод getElementById возвращает null
// переменная element теперь инициализирована значением null, её значение определено
👍51



tgoop.com/frontendInterview/3763
Create:
Last Update:

undefined и null

В JavaScript есть два отдельных типа для представления ничего.

Тип undefined

Это тип с единственным возможным значением: undefined.

Кроме этого, в языке определена глобальная переменная со значением undefined, и эта переменная так и называется — undefined. Не являясь константой, она не является и ключевым словом. Из этого следует, что её значение можно с лёгкостью переопределить.

Несколько случаев, когда возвращается undefined:
- При попытке доступа к глобальной переменной undefined (если она не изменена).
- Неявный возврат из функции при отсутствии в ней оператора return.
- Из операторов return, которые ничего не возвращают.
- В результате поиска несуществующего свойства у объекта (и доступа к нему).
- Параметры, которые не были переданы в функцию явно.
- При доступе ко всему, чьим значением является undefined.

Обработка изменений значения undefined
Поскольку глобальная переменная undefined содержит копию настоящего значения undefined, присвоение этой переменной нового значения не изменяет значения типа undefined.

Но при этом, чтобы сравнить что-либо со значением undefined, прежде нужно получить значение самой переменной undefined.

Чтобы защитить код от переопределения переменной undefined, часто используется техника анонимной обёртки, которая использует отсутствующий аргумент.

var undefined = 123;
(function(something, foo, undefined) {
// в локальной области видимости `undefined`
// снова ссылается на правильное значене.

})('Hello World', 42);


Другой способ достичь того же эффекта — использовать определение внутри обёртки.

var undefined = 123;
(function(something, foo) {
var undefined;
...

})('Hello World', 42);


Единственная разница между этими вариантами в том, что последняя версия будет больше на 4 байта при минификации, а в первом случае внутри анонимной обёртки нет дополнительного оператора var.

Использование null

Значение null записывается литералом null. Оно является самостоятельным, а не свойством глобального объекта (как undefined). В API, null часто присутствует в местах где ожидается объект, но подходящего объекта нет.

null является определённым значением отсутствия объекта, тогда как undefined обозначает неопределённость. Например:

var element;
// значение переменной element до её инициализации не определённо: undefined

element = document.getElementById("not-exists");
// здесь при попытке получения несуществующего элемента, метод getElementById возвращает null
// переменная element теперь инициализирована значением null, её значение определено

BY Frontend Interview - собеседования по Javascript / Html / Css


Share with your friend now:
tgoop.com/frontendInterview/3763

View MORE
Open in Telegram


Telegram News

Date: |

Telegram Channels requirements & features Read now 3How to create a Telegram channel? How to build a private or public channel on Telegram? The optimal dimension of the avatar on Telegram is 512px by 512px, and it’s recommended to use PNG format to deliver an unpixelated avatar.
from us


Telegram Frontend Interview - собеседования по Javascript / Html / Css
FROM American