`truthy` и `falsy` в JavaScript
В этой статье объясняются понятия truthy и falsy в JavaScript.
YouTube Video
truthy и falsy в JavaScript
Концепции truthy и falsy в JavaScript играют очень важную роль, особенно при оценке условных выражений. Truthy и falsy определяют, оценивается ли значение как истинное (true) или ложное (false), но эти значения не обязательно являются булевыми true или false сами по себе.
Ложные значения (Falsy)
Ложные значения (Falsy) — это значения, которые оцениваются как false в условных выражениях JavaScript. Ниже приведен список ложных (falsy) значений в JavaScript.
1const values = [
2 false,
3 0,
4 -0,
5 0.0,
6 -0.0,
7 0n,
8 -0n,
9 "",
10 null,
11 undefined,
12 NaN
13];
14
15for (let value of values) {
16 if (value) {
17 console.log(`${value} is truthy`);
18 } else {
19 console.log(`${value} is falsy`);
20 }
21}В этом примере все ложные (falsy) значения будут выведены как "falsy". Ниже приведен список ложных (falsy) значений в JavaScript.
false—falseв булевом типе0— Число ноль (десятичное0.0также считается «ложным»)-0— Отрицательный ноль (технически отличается от0, но всё равно считается «ложным»)0n— Ноль в типе BigInt""— Пустая строка длиной 0null— Отсутствие значенияundefined— Неопределенное значениеNaN— Не число (Not a Number)
Эти значения рассматриваются как false в логических операциях и условных операторах (например, в операторах if).
Истинные значения (Truthy)
Все значения, которые не являются falsy, считаются truthy. Это относится к значениям, которые оцениваются как булевое true. В JavaScript многие значения считаются truthy.
1const values = [
2 true,
3 1,
4 -1,
5 "Hello",
6 " ",
7 [],
8 {},
9 function() {},
10 Symbol(),
11 Infinity
12];
13
14for (let value of values) {
15 if (value) {
16 console.log(value, ' is truthy');
17 } else {
18 console.log(value, ' is falsy');
19 }
20}В этом коде значения truthy выводятся как "truthy". Например, следующие значения являются «правдивыми» (truthy).
true—trueв булевом типе- Числа (кроме 0) — Например,
1и-1также являютсяистинными. - Строки (непустые) — например,
"Hello"или" "(даже строки, содержащие только пробелы, являются «правдивыми» (truthy)) - Объекты — Даже пустые объекты (
{}) и массивы ([]) являютсяистинными. - Функции — Сами функции также являются
истинными. Symbol— значения типаSymbolтакже являются «правдивыми» (truthy).Infinity— Как положительная, так и отрицательная бесконечность являютсяистинными.
Применение понятий truthy и falsy
Понятия truthy и falsy часто используются в условных выражениях и логических операциях. Например, при установке значения по умолчанию с использованием оператора || (логическое ИЛИ), возвращается первое значение truthy.
Как проверить значения falsy
Для проверки значений falsy удобно использовать функцию Boolean. Функция Boolean явно преобразует заданное значение в логический тип.
Примеры использования функции Boolean
1const values = [
2 false,
3 0,
4 "",
5 null,
6 undefined,
7 NaN
8];
9
10for (let value of values) {
11 console.log(`${value} is ${Boolean(value) ? 'truthy' : 'falsy'}`);
12}Заключение
Truthy и falsy в JavaScript важны для понимания того, как нелогические значения оцениваются в условных выражениях. Falsy значения включают: false, 0, пустую строку, null, undefined и NaN, в то время как все остальные значения оцениваются как truthy. Понимание этих понятий позволяет писать более гибкий и эффективный код.
Вы можете следовать этой статье, используя Visual Studio Code на нашем YouTube-канале. Пожалуйста, также посмотрите наш YouTube-канал.