侧边栏壁纸
  • 累计撰写 2,046 篇文章
  • 累计创建 73 个标签
  • 累计收到 20 条评论

目 录CONTENT

文章目录

Vue(Javascript)一个刚好!两个感叹号!!三个感叹号!!!是什么意思

大猿本猿
2023-04-01 / 1,197 阅读 / 339 字

Vue(Javascript)一个刚好!两个感叹号!!三个感叹号!!!是什么意思

" "

问题描述

vue代码中有双感叹号,代表是什么意思?

image

详细说明

!!就是将所有其他类型都转换成boolean型

!!{} 就是true

!!'' 就是false

js 中,! 表示运算符“非”,如果变量不是布尔类型,会将变量自动转化为布尔类型再取非,!! ( 两个感叹号),就可以将变量转化为对应布尔值,!!!(三个感叹号)没有什么意义,和一个感叹号的效果是一样的。一般他们认为 !! 表示将一个变量转为boolean型,再加一个!是对boolean型取反,和 !false 或者 !true 一样。

举例:


var foo,goo;  
alert(!foo);//undifined情况下,一个感叹号返回的是true;  
alert(!goo);//null情况下,一个感叹号返回的也是true;  
var o={flag:true};  
var test=!!o.flag;//等效于var test=o.flag||false;  
alert(test);  

这段例子,演示了在undifined和null时,用一个感叹号返回的都是true,用两个感叹号返回的就是false,所以两个感叹号的作用就在于,
如果明确设置了变量的值(非null/undifined/0/""等值),结果就会根据变量的实际值来返回,如果没有设置,结果就会返回false。

image