百科问答小站 logo
百科问答小站 font logo



JavaScript一个疑问,[ ] (空数组)== true ,具体如下,请问这是为何? 第1页

  

user avatar   Ivony 网友的相关建议: 
      

其实这是早期类C语言的一个通病。

C语言以及与其兼容的C++语言中,是没有boolean类型的,也没有true和false关键字。


所有的条件判断语句,大体上都基本等价于expression != 0。

JavaScript的这个特性便来自于此,也就是说理论上来说if( expression )其实是if( expression is not false value )


当然,JavaScript为了让这个语言看起来更加平易近人点,又搞出了true和false两个关键词和boolean类型,这才出现了各种奇奇怪怪的现象。




  

相关话题

  lua这种的违反直觉的用法怎么理解? 
  为什么有些验证码看起来很容易但是没人做自动识别的? 
  既然引用计数在做 GC 时有性能问题,为什么智能指针会广泛应用它? 
  网上都说操作真实 DOM 慢,但测试结果却比 React 更快,为什么? 
  程序员为什么要一直写bug ,不能一次性写好吗? 
  为什么大学C语言课不用linux的gcc编译器上,而是用vs呢? 
  用python如何写网页?有好的教程码? 
  在前端计算好还是在服务端计算好? 
  如何看待 node-ipc 包以反战为名进行供应链投毒? 
  就节省编译时间来说,Precompiled Header和Pimpl范式哪个更好? 

前一个讨论
川普反同性恋吗?
下一个讨论
为什么 N 卡驱动安装完之后会把临时文件(安装包)保留在 C:NVIDIA,而不是把它删掉呢?





© 2024-12-26 - tinynew.org. All Rights Reserved.
© 2024-12-26 - tinynew.org. 保留所有权利