Javascript 什么是在三元表达式中确保值“true”的最佳方法
Javascript What is the best way to assure the value "true" in a ternary expression
我使用jslint检查我的javascript,我得到了一个我找不到的JSLint错误。
表达式为:
var foo = (bar === true ? true : false);
错误是:
Expected '!!' and instead saw '?'.
表达式的目的是我希望 var 的值是布尔值 true,而不是 1 或"非空"或任何其他"真"值。 只有值 true 将导致赋值 true
表达这一点的最佳方式是什么?
jslint 提出了以下建议,因为x?true:false
!!x
: var foo = !!(bar === true);
但是,您可以进一步简化它,因为===
总是返回一个布尔值:
var foo = bar === true;
如果bar
是true
,bar === true
的计算结果将为true。你根本不需要三元。
相关文章:
- 如何在angularJS中编辑时,如果DB中的值为true,则设置复选框,如果值为false,则取消选中复选框
- Amd,希望确保某个东西总是最后执行
- AngularJS-使用'true'属性
- JavaScript-切换“;全部检查”;复选框true/false
- location.reload(true)崩溃浏览器选项卡
- 指令的模板必须只有一个根元素:With restrict E&替换true
- JavaScript:只有当数组中的所有项都为true时才执行函数
- 对于loop.if-仅在经过所有间隔后返回true
- 我如何才能确保计时器设置为每天4点半,所以我不会;不用在Javascript中提及某个日期
- if(foo!==null)的计算结果为true,即使foo为null
- ngIf的计算结果始终为true
- 如果函数返回True,则显示Javascript按钮
- (false==false==true)怎么可能是真的
- Javascript If else 只返回 TRUE 或只返回 FALSE
- gcloud节点-我如何确保通过签名URL上传到谷歌云存储的文件是公开可读的
- 如何确保在AngularJS中,数据在使用之前先加载
- sails.js beforeCreate方法只接收required设置为true的模型属性
- 在$state.go之后执行$window.location.reload(true)
- 如何确保JQuery的一行在另一行之前运行
- MongoDB:确保只有一个文档可以将字段设置为 true