在 JavaScript 中,truthy(真值)指的是?

Truthy

In JavaScript, a truthy value is a value that is considered true when encountered in a Boolean context. All values are truthy unless they are defined as falsy (i.e., except for false, 0, -0, 0n, "", null, undefined, and NaN).

JavaScript 中,truthy(真值)指的是在布尔值上下文中,转换后的值为真的值。所有值都是真值,除非它们被定义为假值(即除 false0-00n""nullundefinedNaN 以外皆为真值)。

JavaScript uses type coercion in Boolean contexts.

JavaScript 在布尔值上下文中使用强制类型转换(coercion)。

Examples of truthy values in JavaScript (which will be coerced to true in boolean contexts, and thus execute the if block):

JavaScript 中的真值示例如下(将被转换为 true,if 后的代码段将被执行):

if (true)
if ({})
if ([])
if (42)
if ("0")
if ("false")
if (new Date())
if (-42)
if (12n)
if (3.14)
if (-3.14)
if (Infinity)
if (-Infinity)

See also


测试示例

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>Truthy</title>
	</head>
	<body>
        <script type="text/javascript">
            if(true) {
                console.log(true)
            }
            
            if({}) {
                console.log({})
            }
            
            if([]) {
                console.log([])
            }
            
            if(42) {
                console.log(42)
            }
            
            if("foo") {
                console.log("foo")
            }
            
            if(new Date()) {
                console.log(new Date())
            }
            
            if(-42) {
                console.log(-42)
            }
            
            if(3.14) {
                console.log(3.14)
            }
            
            if(-3.14) {
                console.log(-3.14)
            }
            
            if(Math.PI) {
                console.log(Math.PI)
            }
            
            if(-Math.PI) {
                console.log(-Math.PI)
            }
            
            if(Infinity) {
                console.log(Infinity)
            }
            
            if(-Infinity) {
                console.log(-Infinity)
            }
            
            if(false) {
                console.log(false)
            }
            
            if(0) {
                console.log(0)
            }
            
            if(-0) {
                console.log(-0)
            }
            
            if(0n) {
                console.log(0n)
            }
            
            if("") {
                console.log("")
            }
            
            if(null) {
                console.log(null)
            }
            
            if(undefined) {
                console.log(undefined)
            }
            
            if(NaN) {
                console.log(NaN)
            }
        </script>
	</body>
</html>

从控制台的输出结果可知,除 false0-00n""nullundefinedNaN 以外皆为真值:

在这里插入图片描述

原文

MDN Web Docs Glossary - Definitions of Web-related terms > Truthy

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值