В этом руководстве вы узнаете о логическом типе данных boolean в JavaScript, который имеет два литерала: true
и false
.
boolean
примитивный тип JavaScript имеет два литеральных значения: true
и false
.
В следующем примере объявляются две переменные и инициализируются их значения true
и false
:
let completed = true; let running = false;
Булевы литеральные значения чувствительны к регистру. Это означает, что True
и False
являются допустимыми идентификаторами, но не boolean
значениями.
JavaScript позволяет преобразовывать значения других типов в логические значения. Чтобы преобразовать нелогическое значение в логическое значение, используйте встроенную функцию Boolean()
. Например:
let error = 'An error occurred'; let hasError = Boolean(error); console.log(hasError);
Выход:
true
Как это работает.
- Во-первых, объявите переменную
error
, содержащую литеральную строку'An error occurred'
. - Во-вторых, приведите переменную
error
к логическому значению с помощью функцииBoolean()
. - В-третьих, выведите в консоль значение переменной
hasError
.
Поскольку переменная error
содержит непустую строку, функция Boolean()
приводит ее значение к true
.
В следующей таблице показано, как функция Boolean()
приводит значения других типов к логическим значениям:
Тип данных | Значения преобразованы в true | Значение преобразовано в false |
---|---|---|
string | Любая непустая строка | «»(пустая строка) |
number | Любое ненулевое число | 0 , NaN |
object | Любой объект | нулевой |
undefined | (не имеет значения) | неопределенный |
Эта таблица важна, поскольку некоторые операторы автоматически преобразуют нелогическое значение в логическое значение с помощью функции Boolean()
.
Например, оператор if
выполняет блок, если условие true
. Если вы используете нелогическое значение, будет использоваться функция Boolean()
для неявного приведения этого значения к логическому значению.
Обратите внимание, что вы узнаете об операторе if
в уроке с if
.
Пример:
let error = 'An error occurred'; if(error) { console.log(error); }
Выход:
An error occurred
В этом примере, поскольку переменная error
содержит непустую строку, оператор if
оценивает ее значение как true
. Поэтому он выполняет console.log(error)
для вывода error
на консоль.
Если вы измените значение переменной error
на пустую строку( ""
), вы ничего не увидите в выводе, потому что оператор if
оценивает его как false
:
let error = ''; if(error) { console.log(error); }
Заключение
boolean
тип JavaScript имеет два литерала:true
иfalse
.- Используйте функцию
Boolean()
для приведения нелогических значений к логическому значению. - Некоторые операторы неявно преобразуют нелогическое значение в логическое значение.