Saya memiliki variabel. Sebut saja toto
.
Ini toto
dapat diatur ke undefined
,, null
string, atau objek.
Saya ingin memeriksa apakah toto
disetel ke data, yang berarti disetel ke string atau objek, dan bukan undefined
juga null
, dan menyetel nilai boolean yang sesuai di variabel lain.
Saya memikirkan sintaksnya !!
, yang akan terlihat seperti ini:
var tata = !!toto; // tata would be set to true or false, whatever toto is.
Yang pertama !
akan disetel ke false
if toto is undefined
or null
and true
else, dan yang kedua akan membalikkannya.
Tapi ini terlihat agak aneh. Jadi, apakah ada cara yang lebih jelas untuk melakukan ini?
Saya sudah melihat pertanyaan ini , tetapi saya ingin menetapkan nilai dalam variabel, tidak hanya memeriksanya dalam if
pernyataan.
javascript
boolean-expression
Aracthor
sumber
sumber
Jawaban:
Ya, Anda selalu dapat menggunakan ini:
var tata = Boolean(toto);
Dan berikut beberapa tesnya:
for (var value of [0, 1, -1, "0", "1", "cat", true, false, undefined, null]) { console.log(`Boolean(${typeof value} ${value}) is ${Boolean(value)}`); }
Hasil:
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
sumber
Boolean("false")
.false
adalah string kosong (""
).Anda dapat menggunakan
Boolean(obj)
atau!!obj
untuk mengonversitruthy/falsy
ketrue/false
.var obj = {a: 1} var to_bool_way1 = Boolean(obj) // true var to_bool_way2 = !!obj // true
sumber