null
Базовая линия Широко доступна
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с июля 2015 года.
Ключевое слово null относится к null примитивному значению, которое представляет собой намеренное отсутствие какого-либо объектного значения.
Попробуйте
function getVowels(str) {
const m = str.match(/[aeiou]/gi);
if (m === null) {
return 0;
}
return m.length;
}
console.log(getVowels("sky"));
// Expected output: 0
Синтаксис
null
Описание
Ключевое слово null является литералом для значения null. В отличие от undefined, который является глобальной переменной, null — это не идентификатор, а синтаксический ключевое слово.
null имеет следующие особенности:
- Как и
undefined, доступ к любому свойствуnullвызываетTypeErrorвместо возвратаundefinedили поиска цепочек прототипов. - Как и
undefined,nullрассматривается как ложное (falsy) для булевых операций и nullish для оператора нулевого слияния (nullish coalescing) и оператора опциональной цепочки (optional chaining). - Результат
typeof null—"object". Это ошибка в JavaScript, которую нельзя исправить из-за обратной совместимости. - В отличие от
undefined,JSON.stringify()может достоверно представлятьnull.
JavaScript уникален тем, что имеет два nullish значения: null и undefined. Семантически их разница очень мала: undefined представляет отсутствие значения, а null — отсутствие объекта. Например, конец цепочки прототипов — это null, потому что цепочка прототипов состоит из объектов; document.querySelector() возвращает null, если не находит совпадений, потому что если бы совпадение было найдено, результатом был бы объект. Если вы разрабатываете API, вам, вероятно, следует принимать null и undefined как эквивалентные входные данные, поскольку многие кодовые базы имеют стилистические правила относительно того, когда использовать null или undefined по умолчанию.
Примеры
Разница между null и undefined
При проверке на null или undefined будьте осторожны с различиями между операторами равенства (==) и тождества (===), поскольку первый выполняет преобразование типов.
typeof null; // "object" (not "null" for legacy reasons) typeof undefined; // "undefined" null === undefined; // false null == undefined; // true null === null; // true null == null; // true !null; // true Number.isNaN(1 + null); // false Number.isNaN(1 + undefined); // true
Спецификации
Совместимость с браузерами
| Настольные компьютеры | Мобильные устройства | Сервер | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on iOS | Samsung Internet | WebView Android | WebView on iOS | Bun | Deno | Node.js | |
null |
1 |
12 |
1 |
3 |
1 |
18 |
4 |
10.1 |
1 |
1.0 |
4.4 |
1 |
1.0.0 |
1.0 |
0.10.0 |
См. также
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/null