const age = 0; // bad const hasAge = new Boolean(age); // good const hasAge = Boolean(age); // best const hasAge = !!age;
возраст определен is 0 is falsevalue not false. когда вы хотите преобразовать что-то логическое, например 0 или null, это 3 способа.
если мы используем ключевое слово new, которое на самом деле создает новый объект… обычно мы должны избегать этого,
Второй способ не создает объект, который по-прежнему приводится как логическое значение.
лучший и новый способ — это два выстрела (вы можете назвать восклицательный знак)… возраст равен 0, что является ложным значением, если поставить один восклицательный знак, он преобразуется в истину, но 100% — это логическое значение и поставить еще один восклицательный знак знак, вы просто делаете его таким, какой он есть, но преобразуете его обратно, если его истина истинна или если его ложь ложна.
let a="govind"; let b= null; if(a){ console.log(1) } if(b){ console.log(2); } if(!b){ console.log(3); } if(!!b){ console.log(4); } Result 1 3
Ссылка