0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

JavaScript boolean与Boolean区别

CHANBAEK 来源:myfreax 作者:myfreax 2022-12-08 16:44 次阅读

JavaScript提供了一个布尔原始类型,它有truefalse两个值。你可以使用typeof运算符变量的类型,保存布尔值的变量,返回值是boolean

除了原始类型boolean之外,JavaScript还为您提供了全局Boolean()函数,可以使用Boolean()函数将另一个类型的值转换为布尔值。

Boolean也是原始类型boolean的封装对象。这意味着当您将其中一个truefalse传递给Boolean构造函数时,它将创建一个Boolean对象。

下面的示例演示如何使用Boolean()函数将字符串转换为布尔值。因为字符串不为空,所以返回true

let a = Boolean('Hi'); 
console.log(a); // true
console.log(typeof(a)); // boolean

Boolean对象的原始值,请调用Boolean对象的valueOf()方法。valueOf()方法将会Boolean对象转换后的返回的值。

如果你调用Boolean对象的toString(),你会得到一个字符串值"true""false"

let b = new Boolean(false);
console.log(b.valueOf()); // false
console.log(b.toString()); // "false"

JavaScript boolean与Boolean区别

Boolean是Javascript的一个对象,因此您可以向其添加属性。boolean是原始类型,通常表示一个值,你不能向其添加属性。

其次,当你使用typeof运算符对布尔值获取类型时,原始布尔值返回boolean。布尔对象则返回object

第三,将instanceof运算符应用于Boolean对象时,它返回true。但是,如果您将 instanceof运算符应用于布尔值boolean,它会返回false

let completed = true;
let active = new Boolean(false);

active.primitiveValue = active.valueOf();
console.log(active.primitiveValue); // false

completed.name = 'primitive';
console.log(completed.name); // undefined

console.log(completed instanceof Boolean); // false
console.log(active instanceof Boolean); // true

最好不要使用Boolean对象,因为它会造成很多混乱,尤其是在表达式中使用时。

let falseObj = new Boolean(false);
if (falseObj) {
    console.log('weird part of the Boolean object');
}

这里说一下代码是怎么工作的,首先,创建变量falseObj,它的值是Boolean对象封装的false

变量falseObjif语句中使用时。因为falseObj是一个对象,JavaScript引擎将其强制转换为true.。结果,if块内的语句被执行。

建议您使用Boolean()函数将不同类型的值转换为布尔值,但不要将原始布尔值使用Boolean对象封装。

结论

在本教程中,您了解了JavaScript Boolean对象和原始类型boolean之间的区别。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 函数
    +关注

    关注

    3

    文章

    4327

    浏览量

    62574
  • javascript
    +关注

    关注

    0

    文章

    516

    浏览量

    53851
  • boolean
    +关注

    关注

    0

    文章

    2

    浏览量

    2104
收藏 人收藏

    评论

    相关推荐

    HarmonyOS Next原生应用开发-从TS到ArkTS的适配规则(十五)

    表示相同的语义。TypeScript type OptionsFlags<Type> = { [Property in keyof Type]: boolean
    发表于 08-19 16:13

    [求助]关于boolean 的local variables的问题

    关于boolean 的local variables的问题大家帮帮忙!boolean"测量":Boolean latch action is incompatible
    发表于 09-22 19:38

    VHDL与verilog中if判断条件的一点小区别

    进行VHDL和verilog混合编程,发现其间if判断条件的一点小区别,归纳如下:VHDL:if 内容如果是signal类型如signal a,只能写成if(a = '0'),不能
    发表于 04-09 09:24

    jQuery与JavaScript与ajax有什么区别

    jQuery与JavaScript与ajax三者的区别与联系
    发表于 04-01 16:18

    请问TMS470编译器是否支持定义Boolean类型变量,应如何定义

    您好!请问TMS470编译器是否支持定义Boolean类型变量,应如何定义!谢谢!
    发表于 06-15 15:17

    JavaScript 【1】 基础数据类型

    Boolean;var cars=new Array;var person= new Object; JavaScript 变量均为对象。当您声明一个变量时,就创建了一个新的对象。
    发表于 07-17 10:32

    JavaScript中十个内置对象列表及其程序详解

    js必备的内置对象,内置对象是ECMAscript标准以及定义好的,由浏览器厂商已经实现的标准对象 内置对象中封装了专门的数据和操作数据常用的API JavaScript中内置对象列表有十个,分别
    发表于 11-25 10:36 1543次阅读

    java中boolean的用法

    boolean 数据类型 boolean 变量存储为 8 位(1 个字节)的数值形式,但只能是 True 或是 False。当作为一个构造函数(带有运算符 new)调用时,Boolean() 将把它的参数转换成一个布尔值,并且返
    发表于 12-07 16:34 3.6w次阅读
    java中<b class='flag-5'>boolean</b>的用法

    浅谈Javascript数据类型

    avaScript原始数据类型包括有`object`,`null`,`undefined`,`boolean`,`number`,`string`。
    的头像 发表于 12-09 16:43 862次阅读

    条件构造器

    allEq(boolean condition, Map params, boolean null2IsNull);
    的头像 发表于 06-02 10:55 716次阅读

    javascript基本类型有哪些

    JavaScript中的基本类型包括: 数字类型(Number):表示数字,包括整数和浮点数。 字符串类型(String):表示文本数据。 布尔类型(Boolean):表示逻辑值,即真或假。 空类型
    的头像 发表于 11-16 10:32 507次阅读

    javascript:;怎么解决

    javascript:” 是一个JavaScript伪协议,它通常出现在URL地址栏或链接中,用于执行JavaScript代码。然而,有时它可能会导致一些问题,特别是在一些不支持
    的头像 发表于 11-26 14:39 7646次阅读

    javascript的基本数据类型有哪些

    、Null、Boolean、Number、String、Symbol 和 BigInt。本文将详细介绍这七种基本数据类型的特点和用法。 Undefined Undefined 是 JavaScript
    的头像 发表于 12-03 11:17 752次阅读

    javascript的内置对象有哪些

    你全面了解JavaScript的能力和应用场景。 一、基本数据类型对象: String(字符串对象):用于处理和操作文本数据。 Number(数字对象):用于处理和操作数字数据。 Boolean(布尔对象):用于处理和操作布尔值。 Symbol(符号对象):用于创建和操作
    的头像 发表于 12-03 11:39 1341次阅读

    javascript的typeof返回哪些数据类型?

    JavaScript的typeof操作符用于确定一个值的数据类型,可能的返回值包括以下几种: "undefined":当一个变量被声明但未被赋值时,其类型为undefined。 "boolean
    的头像 发表于 12-03 11:41 790次阅读