Истинные и ложные значения
Узнайте, какие значения интерпретируются как true или false.
«Истинные и ложные значения» — бесплатный урок JavaScript Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения JavaScript Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс JavaScript Academy содержит 4 уроков всего.
Истинные и ложные значения
В логическом контексте, например в условии, каждое значение JavaScript рассматривается либо как истинное, либо как ложное. Ложные значения ведут себя как ложь, а все остальные являются истинными.
if ("hello") {
console.log("strings are truthy")
}Список ложных значений
Существует ровно восемь ложных значений. Запомните их, поскольку любое значение, не входящее в этот список, является истинным.
- ложь
- 0 и отрицательный ноль
- пустая строка
- нулевое значение
- неопределённое значение
- NaN
- ноль типа BigInt
console.log(Boolean(0))
console.log(Boolean(""))
console.log(Boolean(null))Ноль — ложное значение
Число ноль является ложным значением, но любое другое число, включая отрицательные числа, является истинным.
console.log(Boolean(0))
console.log(Boolean(-5))
console.log(Boolean(0.1))Пустая строка — ложное значение
Пустая строка является ложным значением, но строка, содержащая пробел или текст «ложь», является истинной, поскольку она не пуста.
console.log(Boolean(""))
console.log(Boolean(" "))
console.log(Boolean("false"))Нулевое и неопределённое значения
И нулевое, и неопределённое значение являются ложными. Они обозначают отсутствие значения.
console.log(Boolean(null))
console.log(Boolean(undefined))NaN — ложное значение
NaN, результат недопустимой числовой операции, является ложным значением. Это позволяет обнаруживать неудачные преобразования в логических проверках.
console.log(Boolean(NaN))
console.log(Boolean(Number("abc")))Объекты всегда являются истинными
Каждый объект и массив является истинным, даже если он пуст. Это удивляет многих разработчиков, которые ожидают, что пустой массив будет ложным.
console.log(Boolean({}))
console.log(Boolean([]))Приведение к логическому типу
Оператор двойного отрицания — это краткий способ преобразовать любое значение в соответствующее логическое значение, повторяющий поведение условной конструкции.
console.log(!!"text")
console.log(!!0)
console.log(!![])Использование истинности в условиях
Часто истинность используют для проверки отсутствующих значений. Пустая строка, нулевое или неопределённое значение — все они пропустят ветвь условия.
function greet(name) {
if (name) {
return "Hi " + name
}
return "Hi guest"
}
console.log(greet(""))
console.log(greet("Ann"))Значения по умолчанию с OR
Логический оператор OR возвращает первый истинный операнд — это классический способ задать значение по умолчанию. Помните, что ноль и пустая строка активируют значение по умолчанию.
const input = ""
const value = input || "default"
console.log(value)Нулевые и ложные значения
Оператор объединения нулевых значений использует запасной вариант только для нулевого или неопределённого значения, но не для других ложных значений, например нуля, поэтому он безопаснее при задании числовых значений по умолчанию.
const count = 0
console.log(count || 10)
console.log(count ?? 10)Быстрая проверка
Проверьте свои знания об истинных и ложных значениях.
Повторение
Повторение: Существует восемь ложных значений, а все остальные являются истинными.
- Ложные значения: ложь, 0, пустая строка, нулевое значение, неопределённое значение, NaN, ноль типа BigInt
- Пустые объекты и массивы являются истинными
- Двойное отрицание преобразует значение в логический тип
- Объединение нулевых значений проверяет только нулевое и неопределённое значения
console.log(Boolean([]))
console.log(Boolean(0))Часто задаваемые вопросы
Урок «Истинные и ложные значения» бесплатный?
Да — полный текст урока «Истинные и ложные значения» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс JavaScript Academy, подпишись на CoddyKit PRO. Курс JavaScript Academy содержит 4 уроков всего.
Чему я научусь в уроке «Истинные и ложные значения»?
Узнайте, какие значения интерпретируются как true или false. Ты практикуешь JavaScript Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать JavaScript Academy?
Предыдущий опыт не требуется. JavaScript Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.
Сколько времени занимает урок «Истинные и ложные значения»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке JavaScript Academy?
Да. Каждый урок JavaScript Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Истинные и ложные значения
- Нестрогое и строгое равенство
- Неявное приведение типов в операциях
- Приёмы явного преобразования