Falsy - 术语表 编辑

falsy 值 (虚值) 是在 Boolean 上下文中认定为 false 的值。

JavaScript 在需要用到布尔类型值的上下文中使用强制类型转换(Type Conversion )将值转换为布尔值,例如条件语句和循环语句。

在 JavaScript 中只有 8 个 falsy 值。

这意味着当 JavaScript 期望一个布尔值,并被给与下面值中的一个时,它总是会被当做 false。

falsefalse 关键字
0数值 zero
-0数值 负 zero
0n当 BigInt 作为布尔值使用时, 遵从其作为数值的规则. 0n 是 falsy 值.
"", '', ``

这是一个空字符串 (字符串的长度为零). JavaScript 中的字符串可用双引号 "", 单引号 '', 或 模板字面量 `` 定义。

nullnull - 缺少值
undefinedundefined - 原始值
NaNNaN - 非数值

例子

 JavaScript 中 falsy 值的例子 (在布尔值上下文中被转换为 false,从而绕过if 代码块):

if (false)
if (null)
if (undefined)
if (0)
if (0n)
if (NaN)
if ('')
if ("")
if (``)
if (document.all)

逻辑与操作符 &&

如果第一个对象(译注:原文如此)是 falsy 值,则返回那个对象:

let pet = false && "dog";

// ↪ false

document.all 在过去被用于浏览器检测,是 HTML 规范在此定义了故意与 ECMAScript 标准相违背的(译者注:document.all 虽然是一个对象,但其转换为 boolean 类型是 false),以保持与历史代码的兼容性  (if (document.all) { // Internet Explorer code here } 或使用 document.all 而不先检查它的存在: document.all.foo).

falsy 有时会写作 falsey,虽然在英语中,将一个单词转换成形容词时,通常会去掉末尾的字母 e,加上后缀 y。(noise => noisy, ice => icy, shine => shiny)

更多

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

词条统计

浏览:111 次

字数:4140

最后编辑:6 年前

编辑次数:0 次

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文