我是靠谱客的博主 仁爱镜子,最近开发中收集的这篇文章主要介绍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 boolean/布尔表达式前言判定成 false判定成 true对象无法比较,除非有一个不是=== 运算符需要在类型和值两方面同时相等所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复