首页 > 编程语言 >JavaScript中的布尔值

JavaScript中的布尔值

时间:2023-08-23 09:03:54浏览次数:37  
标签:操作数 false 布尔值 JavaScript null true

布尔值代表真或假,开或关,是或否。在这个类型中只有两个值:true和false。

JavaScript中的布尔值通常是比较操作的结果。例如:

a === 4

上面的代码测试变量a的值是否等于数字4。如果是,返回true;否则返回false。

布尔值在JavaScript的控制结构中经常被使用。例如,在if/else语句中,当布尔值为true时执行一个操作,当布尔值为false时执行另一个操作。我们通常会将产生布尔值的比较表达式直接放在使用这些值的语句中。代码可能如下所示:

if (a === 4) {
    b = b + 1;
} else {
    a = a + 1;
}

上面的代码检查a是否等于4。如果是,将b增加1;否则,将a增加1。

JavaScript中的任何值都可以转换为布尔值。以下值将被转换为(并且可以被用作)布尔值false

undefined
null
0
-0
NaN
// 空字符串
""

(程序员的软技能:ke.qq.com/course/6034346)

其他所有值,包括所有对象(和数组),都会被转换为(可以被用作)布尔值true。值false和可以转换为它的6个值有时被称为“falsy”值,而其他所有值都被称为“truthy”值。在任何期望布尔值的JavaScript上下文中,falsy值可以被视为false,而truthy值可以被视为true。

例如,假设变量o保存了一个对象或值null。您可以这样测试是否非空:

if (o !== null) ...

通过使用非严格不等号运算符!==来比较onull,结果将是true或false。然而,您也可以省略比较,直接依赖于null是falsy而对象是truthy的事实:

if (o) ...

在第一种情况下,if语句的主体只在o不是null时执行。第二种情况不那么严格 - 只要o不是false或任何其他falsy值(如nullundefined),主体就会执行。选择哪种if语句适合您的程序取决于您希望在o中存储什么值。如果您需要区分null0"",那么使用比较表达式是合适的。

布尔值具有toString()方法,将它们转换为字符串"true"或"false"。除了这个非常简单的API外,还有三个重要的布尔运算符。

&&运算符执行布尔与操作。它只在两个操作数都为true时评估为true;如果任何操作数为false,则结果为false。||运算符执行布尔或操作。如果任何一个操作数为true,则评估为true;只有在两个操作数都为false时,结果才为false。一元!运算符执行布尔非操作。如果操作数为false,则结果为true;如果操作数为true,则结果为false。例如:

if ((x === 0 && y === 0) || !(z === 0)) {
    // 要么x和y都是0,要么z不是0
}

(程序员的软技能:ke.qq.com/course/6034346)

标签:操作数,false,布尔值,JavaScript,null,true
From: https://www.cnblogs.com/web-666/p/17650094.html

相关文章

  • javascript判断字符串中是否包含某个字符串
    使用Math与RegExp结合Let gameName="AFGA捕鱼";if(gameName.match(RegExp("捕鱼"))){      letfishing=obj.data.gameData.fishing;      console.log(fishing);    }参考地址:https://www.php.cn/faq/473880.html......
  • 深度理解JavaScript对象:从基础到高级
    一:概述在JavaScript中,对象是一种非常重要且强大的数据类型。熟练掌握对象的特性,既可以提高编码效率,又能编写出更加灵活和可维护的代码。本篇文章将从基础到高级,深入探讨JavaScript对象的各个方面,帮助读者全面理解对象的概念,并为实际应用中的场景提供示例说明。二:javaScript对象的......
  • JavaScript regular expression in Actions All In One
    JavaScriptregularexpressioninActionsAllInOneJavaScript正则表达式实战demos在字符串中匹配多组数据conststr='lines[0][config][options][343]';constreg=/\[([0-9]+|[a-z]+|[A-Z]+)\]/g;constgroups=[];str.replaceAll(reg,group=>{letv......
  • 15 JavaScript ES6中的箭头函数
    15JavaScriptES6中的箭头函数什么是箭头函数ES6中允许使用=>来定义函数。箭头函数相当于匿名函数,并简化了函数定义。基本语法//箭头函数letfn=(name)=>{//函数体return`Hello${name}!`;};//等同于letfn=function(name){//函数体......
  • Javascript关于对象的理解
    对象的概念  对象是一个包含数据和方法的集合。  下面,我们通过实例探索对象。首先,创建一个对象varperson={};  如果在控制台输入person,将会得到 [objectObject] 这时,我们就创建了一个空的对象,接着,我们需要向空对象中添加数据或方法varperson={name:[......
  • javascript学习笔记第五天
    今天的笔记functiongetusergradesum(arr=[])传递数组进入匿名函数,假设不确定数组是否会为空可以默认传一个空的数组进入,这样不会报错在匿名方法里面,return之后就直接结束函数了三元运算符好像不能同时使用两个return,例如i>l?returni:retuenl,这样子会报错return时......
  • 13 JavaScript关于prototype(超重点)
    13JavaScript关于prototype(超重点)prototype是js里面给类增加功能扩展的一种模式.写个面向对象来看看.functionPeople(name,age){this.name=name;this.age=age;this.run=function(){console.log(this.name+"在跑")}}p1=newPeople("......
  • 12 JavaScript 关于eval函数
    12eval函数eval本身在js里面正常情况下使用的并不多.但是很多网站会利用eval的特性来完成反爬操作.我们来看看eval是个什么鬼?从功能上讲,eval非常简单.它和python里面的eval是一样的.它可以动态的把字符串当成js代码进行运行.s="console.log('我爱你')";eval(s);也......
  • Web_JavaScript_客户端监测;
    //client_detection.js客户端监测//client自动运行varclient=function(){//呈现引擎varengine={ie:0,gecko:0,webkit:0,khtml:0,opera:0,//完整版本号ver:null......
  • JavaScript中的字符串
    在JavaScript中,用于表示文本的类型称为字符串(String)。字符串是一个不可变的有序序列,由16位值组成,其中每个值代表一个Unicode字符。字符串的length属性表示它包含的16位值的数量。JavaScript的字符串(以及数组)使用从零开始的索引,因此第一个16位值的索引是0,第二个值的索引是1,依此类推......