欢迎访问我的博客,目前从事Machine Learning,欢迎交流

true和false,truthy和Falsy

我们在初学JS时,总会对一些语法很疑惑,比如

function func(){ console.log("func执行") }
if(a){
   func()  
}

如果我们把a的定义忘了,结果却和我们想要的一致,a的值会被置为为undefined,然而在JS中 undefined是属于逻辑假,即false,这就是JS特殊的真假值机制,这在严格(强)数据类型的语言如Java是不可想象的,后者会报编译错误:未声明的变量。

  现在,最新规范把它称为truthy和Falsy,详见:

https://developer.mozilla.org/zh-CN/docs/Glossary/Truthy

https://developer.mozilla.org/zh-CN/docs/Glossary/Falsy

posted @ 2022-02-21 15:40  有蚊子  阅读(145)  评论(0编辑  收藏  举报