Я думаю, что вы ищете !!val==false
, который можно превратить в !val
(еще короче):
Вы видите:
function checkValue(value) {
console.log(!!value);
}
checkValue(); // false
checkValue(null); // false
checkValue(undefined); // false
checkValue(false); // false
checkValue(""); // false
checkValue(true); // true
checkValue({}); // true
checkValue("any string"); // true
Это работает путем переключения значения с помощью оператора !
.
Если вы щелкаете null
один раз, например, так:
console.log(!null) // that would output --> true
Если дважды перевернуть его так:
console.log(!!null) // that would output --> false
То же самое с undefined
или false
.
Ваш код:
if(val==null || val===false){
;
}
тогда станет:
if(!val) {
;
}
Это будет работать во всех случаях, даже если есть строка, но ее длина равна нулю.
Теперь, если вы хотите, чтобы оно также работало для числа 0 (которое станет false
, если оно будет дважды перевернуто), тогда ваше if станет:
if(!val && val !== 0) {
// code runs only when val == null, undefined, false, or empty string ""
}