人们可能会遇到转换表示布尔值的字符串的情况,例如 'true ' 或 'false',转换为布尔类型是必要的。在 JavaScript 中,有多种方法可以实现此目的:
要准确地将字符串转换为布尔值,必须避免隐式类型强制。
var isTrueSet = (myValue === 'true');
此方法使用恒等运算符 (===),确保操作数属于同一类型。因此,“true”将被分配给布尔 true,而“false”或空字符串将被分配为布尔 false。
对于不区分大小写的比较,请考虑以下选项:
;var isTrueSet = /^true$/i.test(myValue);<br>var isTrueSet = (myValue?.toLowerCase?.() === 'true');<br>var isTrueSet = (String(myValue).toLowerCase() === 'true');
虽然以下方法可能看起来很方便,但不推荐用于布尔值转换:
var myBool = Boolean("false"); // == true<br>var myBool = !!""false""; // == true
这些方法隐式地将非空字符串强制为 true,这可能与预期的行为不一致。为了避免混淆,最好使用推荐方法中概述的方法。
以上是如何在 JavaScript 中安全地将字符串值('true”或'false”)转换为布尔值?的详细内容。更多信息请关注PHP中文网其他相关文章!