在 JavaScript 中将字符串转换为布尔值
Convert a String to a Boolean in JavaScript
要将字符串转换为布尔值,请使用严格相等运算符将字符串与字符串进行比较"true"
,例如const bool = str === 'true'
。如果满足条件,严格相等运算符将返回布尔值
true
,否则false
返回。
// ✅ If string is equal to "true" or "false" const str1 = 'true'; const bool1 = str1 === 'true'; // 👉️ true // ✅ If string might be Uppercase or Title Case const str2 = 'False'; const bool2 = str2.toLowerCase() === 'true'; // 👉️ false
严格相等 (===)
运算符检查左侧和右侧的值是否相等,如果相等则返回,
true
否则返回false
。
"true"
,则运算符返回布尔值true
并将其分配给变量,在所有其他情况下,变量的值为false
。要将任何其他字符串转换为布尔值,请使用该Boolean
对象。
使用布尔值将字符串转换为布尔值
要将字符串转换为布尔值,请将字符串作为参数传递给
Boolean()
对象,例如const bool = Boolean(str)
. 该Boolean
对象将传入的字符串转换为布尔值。空字符串被转换为
false
,在所有其他情况下结果为true
。
const bool3 = Boolean('test'); // 👉️ true const bool4 = Boolean(''); // 👉️ false const bool5 = Boolean('false'); // 👉️ true const bool6 = Boolean('true'); // 👉️ true const bool7 = Boolean(' '); // 👉️ true
我们使用
布尔
对象将字符串转换为布尔值。
false
是我们将空字符串传递给Boolean
对象。所有其他字符串都转换为true
.
这是因为Boolean
对象将 truthy 值转换为true
,将 falsy 值转换为false
。
所有非假值在 JavaScript 中都是真值。虚假值是:
false
, null
, undefined
, 0
, ""
(空字符串),NaN
(不是数字)。
请注意,空字符串是一个虚假值,这就是它被转换为
false
.
如果字符串包含至少 1 个字符,无论是空格,它都是真实的并被转换为true
.
"false"
false
true
实现相同结果的更简洁的方法是使用双 NOT (!!) 运算符。
使用双非 (!!) 将字符串转换为布尔值
要将字符串转换为布尔值,请使用双 NOT (!!) 运算符,例如
const bool = !!str
. 双 NOT (!!) 运算符将空字符串转换为
false
,所有其他字符串都转换为布尔值true
。
const bool8 = !!'test'; // 👉️ true const bool9 = !!''; // 👉️ false const bool10 = !!'false'; // 👉️ true const bool11 = !!'true'; // 👉️ true const bool12 = !!' '; // 👉️ true
双
NOT (!!)
运算符基本上使用
逻辑 NOT (!)
运算符两次。
逻辑 NOT (!) 运算符将值转换为布尔值并将结果取反。这里有些例子。
console.log(!'test'); // 👉️ false console.log(!''); // 👉️ true
空字符串是一个假值,但是当转换为布尔值并翻转时,我们会true
返回。
To perform a pure boolean conversion, we have to flip the value again by using a
second logical NOT (!) operator.
console.log(!!'test'); // 👉️ true console.log(!!''); // 👉️ false
!
converts the string to a boolean and flips the result. The second !
flips the boolean value, so we get a pure boolean conversion.The double NOT (!!) operator is quite concise and does the same thing the
Boolean
object does, however it’s a bit harder to read if you’re not familiar
with the logical NOT (!) operator.
Both ways of converting a string to a boolean are very common and often used
throughout the same codebase.