--- title: Falsy slug: Словарь/Falsy tags: - Glossary - JavaScript - falsy translation_of: Glossary/Falsy ---

Ложное (falsy) значение - это значение, которое считается ложным, когда встречается в контексте {{Glossary("Boolean")}} .

{{Glossary("JavaScript")}} использует {{Glossary("Type_Conversion", "Type Conversion")}} для приведения любого значения к логическому в контекстах, которые требуют его, такие как {{Glossary("Conditional", "условные выражения")}} и {{Glossary("Loop", "циклы")}}.

В JavaScript есть только 7 ложных значений

Это означает, что когда JavaScript ожидает логическое значение и ему присваивается одно из значений ниже, он всегда будет оцениваться как «ложное»

false Ключевое слово {{jsxref('Lexical_grammar','false','Зарезервированные_ключевые_слова_в_более_старых_версиях')}}
0 Число zero
0n {{jsxref('Global_Objects/BigInt','BigInt')}}, при использовании в качестве логического значения, следует тому же правилу, что и число. 0n - это ложь.
"", '', ``

Это пустая строка(длина строки ноль). Строки в JavaScript могут быть определены с помощью двойных кавычек (") или одинарных кавычек ('), а также {{jsxref ('template_strings', 'Template literals')}} (`)

{{Glossary("null")}} {{jsxref('Global_Objects/null','null')}} - отсутствие какого-либо значения
{{Glossary("undefined")}} {{jsxref('Global_Objects/undefined','undefined')}} - примитивное значение
{{Glossary("NaN")}} {{jsxref('Global_Objects/NaN','NaN')}} - не число

Примеры

Примеры ложных значений в JavaScript (которые приводятся к ложному в булевых контекстах и, таким образом, обходят блок if):

if (false)
if (null)
if (undefined)
if (0)
if (0n)
if (NaN)
if ('')
if ("")
if (``)
if (document.all)

Логический оператор И, &&

Если первый объект ложный, он возвращает этот объект

let pet = false && "dog";

// ↪ false

В прошлом для обнаружения браузером использовался document.all, а Спецификация HTML здесь определяет преднамеренное нарушение стандарта ECMAScript для сохранения совместимости с устаревшим кодом. (if (document.all) { // Internet Explorer code here(except IE11) } or using document.all without checking its presence first: document.all.foo).

Иногда пишется falsy, хотя на английском языке обычно превращают слово в прилагательное с окончанием -y, любое окончание e отбрасывается(noise => noisy, ice => icy, shine => shiny)

Узнать больше

{{QuickLinksWithSubpages("/en-US/docs/Glossary")}}