在angularjs中的范围变量之前使用(!)的真正含义是什么。 NG-秀= “!!文件”。什么表明我是否在angularjs ng-directives
中使用此符号答案 0 :(得分:1)
来自:https://developer.mozilla.org/en-US/docs/Glossary/Truthy
在JavaScript中,truthy值是在布尔上下文中计算时被视为true的值。所有值都是真实的,除非它们被定义为假(即,除了false,0,"",null,undefined和NaN)。
!只是一个"不是",但它具有将任何truthy值更改为false布尔值并将任何falsy值更改为true布尔值的效果。当你轰炸一个变量时,你基本上是根据它的真实/虚假行为将它转换成 true 真实的布尔值。这通常是一种很好的做法,但并非完全必要。
答案 1 :(得分:1)
!!
用作将值转换为显式布尔值的简写。
如果file
是“真实的”,!!file
将为true
。如果它是“假的”,!!file
将为false
。
var nonEmptyString = "nonempty string";
var emptyString = "";
console.log(!!nonEmptyString);
console.log(!!emptyString);
在您的示例中使用!!
是无关紧要的,因为ng-show
将负责检查值是“truthy”还是“falsy”。
答案 2 :(得分:0)
!用于反向布尔和!!双反布尔值,请在此处查看:Click
答案 3 :(得分:0)
var nonEmptyString = "nonempty string";
var emptyString = "";
console.log(!!nonEmptyString);
console.log(!!emptyString);