我遇到了那些正在检查df.columns=["A","B","C"]
属性的运算符:
user.rank
它们有何不同,我们可以使用什么呢?
答案 0 :(得分:15)
单个爆炸(!
)用于否定布尔值。
Double bang(!!
)用于将truthy / falsey值强制转换为布尔值true或false。
例如
var x = 0; // a falsey value
console.log(x); // logs 0
console.log(!x)// logs true
console.log(!!x)// logs false
var y = "Hello world"; // a truthy value
console.log(y); // logs "Hello world"
console.log(!y)// logs false
console.log(!!y)// logs true
适用于您的具体案例
ng-show="!!user.rank"
ng-show
无疑期待一个实际的布尔值,而user.rank
显然是真或假 - 将其强制转换为布尔值会恰当地满足你的角度指令。
答案 1 :(得分:-1)
What is the !! (not not) operator in JavaScript?
来自JS wiki on SO
关于!! :
“将oObject强制为boolean。如果它是假的(例如0,null,undefined等),则为false,否则为true。”
“它将非boolean转换为反向布尔值(例如,!5将为false,因为5是JS中的非假值),然后boolean-inverts,因此您将原始值作为布尔值(因此!! 5将是真的)“
“所以!!不是运营商,它只是!运营商两次。”