我是靠谱客的博主 仁爱镜子,这篇文章主要介绍javascript boolean/布尔表达式前言判定成 false判定成 true对象无法比较,除非有一个不是=== 运算符需要在类型和值两方面同时相等,现在分享给大家,希望可以做个参考。
前言
- 具有“真实”值的即为 True;不具有“真实”值的即为 False
- 简单理解:除了false外,
0、undefined、NaN、""ornull也被判定成false。
判定成 false
console.log(false?"i am true":"i am false"); /* i am false */
console.log(0?"i am true":"i am false"); /* i am false */
console.log(undefined?"i am true":"i am false"); /* i am false */
console.log(""?"i am true":"i am false"); /* i am false */
console.log(NaN?"i am true":"i am false"); /* i am false */
console.log(null?"i am true":"i am false"); /* i am false */
console.log(null==1?"i am true":"i am false"); /* i am false */
console.log(1==2?"i am true":"i am false"); /* i am false */
console.log(1!=1?"i am true":"i am false"); /* i am false */
console.log("1"=="2"?"i am true":"i am false"); /* i am false */
console.log("1"!="1"?"i am true":"i am false"); /* i am false */
console.log(true==false?"i am true":"i am false"); /* i am false */
console.log(false==true?"i am true":"i am false"); /* i am false */
判定成 true
console.log(true?"i am true":"i am false"); /* i am true */
console.log(1?"i am true":"i am false"); /* i am true */
console.log("1"?"i am true":"i am false"); /* i am true */
console.log(new Date?"i am true":"i am false"); /* i am true */
console.log({}?"i am true":"i am false"); /* i am true */
console.log([]?"i am true":"i am false"); /* i am true */
console.log(1==1?"i am true":"i am false"); /* i am true */
console.log("1"=="1"?"i am true":"i am false"); /* i am true */
console.log(true==true?"i am true":"i am false"); /* i am true */
console.log(false==false?"i am true":"i am false"); /* i am true */
对象无法比较,除非有一个不是
console.log(true==new Boolean(true)?"i am true":"i am false"); /* i am true */
console.log(false==new Boolean(false)?"i am true":"i am false"); /* i am true */
console.log(new Boolean(true)==new Boolean(true)?"i am true":"i am false"); /* i am false*/
console.log(new Boolean(false)==new Boolean(false)?"i am true":"i am false"); /* i am false*/
console.log(1==new Number(1)?"i am true":"i am false"); /* i am true*/
console.log(1==new Number(2)?"i am true":"i am false"); /* i am false*/
console.log(new Number(1)==new Number(1)?"i am true":"i am false"); /* i am false*/
console.log(new Number(1)==new Number(2)?"i am true":"i am false"); /* i am false*/
=== 运算符需要在类型和值两方面同时相等
console.log(new Boolean(true)===new Boolean(true)?"i am true":"i am false"); /* i am false*/
console.log(new Boolean(false)===new Boolean(false)?"i am true":"i am false"); /* i am false*/
console.log(new Number(1)===new Number(1)?"i am true":"i am false"); /* i am false*/
console.log(new Number(1)===new Number(2)?"i am true":"i am false"); /* i am false*/
console.log(true===new Boolean(true)?"i am true":"i am false"); /* i am false*/
console.log(false===new Boolean(false)?"i am true":"i am false"); /* i am false*/
console.log(true===true?"i am true":"i am false"); /* i am true*/
console.log(false===true?"i am true":"i am false"); /* i am false*/
最后
以上就是仁爱镜子最近收集整理的关于javascript boolean/布尔表达式前言判定成 false判定成 true对象无法比较,除非有一个不是=== 运算符需要在类型和值两方面同时相等的全部内容,更多相关javascript内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复