Javascript - !和!!

学习一下 !和!! 之间的区别;

先看个简答的示例:

console.log(!0);  //true
console.log(!false);  //true
console.log(!'');  //true
console.log(!'  ');  //false
console.log(!'abc');  //false
console.log(!{});  //false

console.log(typeof !0);  //boolean
console.log(typeof !'abc');  //boolean
console.log(typeof !true);  //boolean
console.log(typeof !{});  //boolean

!:逻辑非

通过示例可以看出,当给变量前面加上!之后,通过typeof可以知道变量类型变成了boolean

这里说变量类型感觉有点不妥,不过也不知道怎么描述.

其中

  • 0
  • '' / ""
  • false
  • null
  • undefined
  • NaN
    逻辑非之后的值为true

!!

它的作用是用来:判断在其后面的变量是 true or false

如: !!'abc'

  • 第一步: !'abc' 返回的值是false,是boolean类型;
  • 第二部: !false 返回的值是true,是boolean类型;
  • 结果:true,可以判断 'abc'是有值的,不是上面的那几种情况;

结论:!!可以快速得出,当前的变量的值是否是真的值(将值类型转换成true)。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容