Spec-Zone.ru › JavaScript

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

Спецификации

Спецификация
ECMAScript® 2027 Language Specification
# sec-null-value

Совместимость с браузерами

Настольные компьютеры Мобильные устройства Сервер
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

См. также

  • undefined
  • NaN
  • void

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API