上一节我们学习了JS中的Math对象,本节我们将会学习JS中的Boolean对象。在JS中,Boolean(布尔)对象是一个基本但非常重要的数据类型,用于表示逻辑值 true 或 false。
什么是 Boolean 对象?
Boolean 对象是JS的一个内置对象,它表示一个布尔值(true 或 false)。与 Number 和 String 对象类似,Boolean 既可以作为原始数据类型使用,也可以作为对象使用。
// 作为原始数据类型-只有true或者是false两个值 let flag = true; flag=false // 作为 Boolean 对象 let boolObj = new Boolean(true);
1. 字面量方式(推荐)
let flag1 = true; let flag2 = false;
2. 构造函数方式
let boolObj1 = new Boolean(true);
let boolObj2 = new Boolean(false);
let boolObj3 = new Boolean(0); // false
let boolObj4 = new Boolean(""); // false
let boolObj5 = new Boolean("hello"); // true注意:使用构造函数创建的 Boolean 值是一个对象,而不是原始布尔值,这可能会在比较时产生意外的结果。
// 原始布尔值比较 console.log(true === true); // true let boolObj = new Boolean(true); console.log(boolObj === true); // false - 严格相等,类型不同(object vs boolean) console.log(boolObj == true); // true - 宽松相等,对象会先转换为原始值再比较 console.log(boolObj.valueOf() === true); // true - 明确获取原始值比较
3. 布尔转换规则:在JS中,任何值都可以被转换为布尔值。以下是一些常见的转换规则:
/* 值转false的情况 */
console.log(Boolean(false)); // false
console.log(Boolean(0)); // false
console.log(Boolean(-0)); // false
console.log(Boolean("")); // false
console.log(Boolean(null)); // false
console.log(Boolean(undefined));// false
console.log(Boolean(NaN)); // false
/* 值转true的情况 */
console.log(Boolean(true)); // true
console.log(Boolean(1)); // true
console.log(Boolean(-1)); // true
console.log(Boolean("0")); // true
console.log(Boolean("false")); // true
console.log(Boolean([])); // true
console.log(Boolean({})); // true
console.log(Boolean(function() {})); // true4. Boolean 对象的方法:toString()和valueOf()。
/* Boolean对象的方法-toString()和valueOf() */ //toString()-把boolean值转字符串 console.log(false.toString());//false console.log(true.toString());//true //valueOf()-返回布尔对象包装的原始值 const flag1 = new Boolean(null) const flag2 = new Boolean(1) console.log(flag1.valueOf());//false console.log(flag2.valueOf());//true
5. 布尔运算:JS 提供了几种布尔运算符,用于组合和操作布尔值:
逻辑与 (&&) console.log(true && true); // true console.log(true && false); // false console.log(false && true); // false console.log(false && false); // false 逻辑或 (||) console.log(true || true); // true console.log(true || false); // true console.log(false || true); // true console.log(false || false); // false 逻辑非 (!) console.log(!true); // false console.log(!false); // true
总结:Boolean 对象是 JS 中处理逻辑值的基础工具。通过理解其特性和使用方法,我们可以:有效地进行条件判断和流程控制、利用布尔运算简化代码逻辑以及避免常见的类型转换陷阱。
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程