你不知道的 JavaScript 系列中( 25 ) - toBoolean
假值
以下是假值:
Boolean(undefined); // false Boolean(null); // false Boolean(0); // false Boolean(NaN); // false Boolean(""); // false
假值的布尔强制类型转换结果为 false。
从逻辑上说,假值列表以外的都应该是真值。但 JavaScript 规范对此并没有明确定义,只是给出了一些示例,例如规定所有的对象都是真值,我们可以理解为假值列表以外的值都是真值
假值对象
var a = new Boolean(false); var b = new Number(0); var c = new String(""); var d = Boolean(a && b && c); console.log(d); // true
d 为 true,说明 a、b、c 都为 true。 a,b,c都是假值对象
假值对象看起来和普通对象并无二致(都有属性,等等),但将它们强制类型转换为布尔 值时结果为 false
a == false; // true b == false; // true c == false; // true
真值
var a = []; var b = {}; var c = function(){}; var d = Boolean(a && b && c); console.log(d) // true
d 依然是 true。还是同样的道理,[]、{} 和 function(){} 都不在假值列表中,因此它们都 是真值
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架