Bar*_*tta 12 javascript truthiness angularjs
在angular.js中,有一些代码片段用于!!检查某个值是否在条件中是真实的.
这是最佳做法吗?我完全理解返回值或其他任务!! 用于确保类型为布尔值.但条件检查也是如此吗?
if (!!value) {
element[name] = true;
element.setAttribute(name, lowercasedName);
} else {
element[name] = false;
element.removeAttribute(lowercasedName);
}Run Code Online (Sandbox Code Playgroud)
Tim*_*lds 33
!!value通常被用来强制value成为或者,true或者false,分别取决于它是真实的还是虚假的.
在控制流语句,例如if (value) { ... }或while (value) { ... },前缀value与!!没有任何影响,因为控制流语句已根据定义,胁迫的value是任一true或false.三元运算符表达式中的条件也是如此value ? a : b.
使用!!value强迫value到true或者false是习惯,但当然应该当通过所附的语言结构,不是由它的冗余才能这样做.
Den*_*ret 32
不,它完全没用,只会让读者感到困惑.
这将被转换为数值!!中if也通过了true考验,因为他们是被评估的值!!value在布尔情况下,它们被称为"truthy".
所以只需使用
if (value) {
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8996 次 |
| 最近记录: |