javascript - 是 !!检查 if 语句中真值的最佳实践

标签 javascript angularjs truthiness

在 angular.js 中,有一些代码片段使用 !! 来检查一个值在 if 条件下是否为真。

这是最佳做法吗?我完全理解返回值或其他任务!用于确保类型为 bool 值。但是条件检查也是如此吗?

if (!!value) {
  element[name] = true;
  element.setAttribute(name, lowercasedName);
} else {
  element[name] = false;
  element.removeAttribute(lowercasedName);
}

最佳答案

!!value 通常用作将 value 强制为 truefalse 的方法,分别取决于它是真还是假。

在控制流语句中,例如 if (value) { ... }while (value) { ... },前缀 value!! 没有效果,因为根据定义,控制流语句已经将 value 强制为 true错误。三元运算符表达式 value 中的条件也是如此?一个:b

使用 !!valuevalue 强制为 truefalse 是惯用的,但当然应该只在随附的语言结构没有多余的情况下完成。

关于javascript - 是 !!检查 if 语句中真值的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26906294/

相关文章:

javascript - 当鼠标位于内部时激活箭头键

javascript - 在 angularjs 的 url 中附加 Id

javascript - 将 ng 重复项连接为 ng-model 内的对象

mysql - 评估真实的值(value)观

python - 返回变量的真实性而不是它的值?

javascript - 在 php 中使用 echo 发出警报

javascript - Angular Ui 网格 Coloumndefs 错误

javascript - 使用 Spring MVC 访问 Javascript 中的模型属性

javascript - HTML - 内联标签不反射(reflect)

javascript - 以这种特定方式比较真实性的最简单方法是什么?