У меня есть переменная. Назовем это toto
.
Это toto
может быть установлено undefined
, null
, строку или объект.
Я хотел бы проверить , если toto
установлен на данных, что означает , установленного в строку или объект, и ни один, undefined
ни null
, и множество , соответствующее логическое значение в другой переменной.
Я подумал о синтаксисе !!
, который будет выглядеть так:
var tata = !!toto; // tata would be set to true or false, whatever toto is.
Первый !
будет установлен в false
if toto is undefined
or null
and true
else, а второй инвертирует его.
Но это выглядит немного странно. Так есть более четкий способ сделать это?
Я уже рассматривал этот вопрос , но я хочу установить значение в переменной, а не просто проверять его в if
инструкции.
javascript
boolean-expression
Арактор
источник
источник
Ответы:
Да, вы всегда можете использовать это:
var tata = Boolean(toto);
А вот несколько тестов:
for (var value of [0, 1, -1, "0", "1", "cat", true, false, undefined, null]) { console.log(`Boolean(${typeof value} ${value}) is ${Boolean(value)}`); }
Полученные результаты:
Boolean(number 0) is false Boolean(number 1) is true Boolean(number -1) is true Boolean(string 0) is true Boolean(string 1) is true Boolean(string cat) is true Boolean(boolean true) is true Boolean(boolean false) is false Boolean(undefined undefined) is false Boolean(object null) is false
источник
Boolean("false")
.false
- это пустая строка (""
).Вы можете использовать
Boolean(obj)
или!!obj
для преобразованияtruthy/falsy
вtrue/false
.var obj = {a: 1} var to_bool_way1 = Boolean(obj) // true var to_bool_way2 = !!obj // true
источник