繁体   English   中英

JavaScript 将字符串强制转换为逻辑运算符

[英]JavaScript Coercion for Strings to Logical Operators

我可以理解 JavaScript 会将一种数据类型转换为另一种数据类型以自动匹配数据类型。 但我不明白以下结果。 请解释相同以便更好地理解。

console.log("32" > "4") //This result is showing false. when converting the number it must be true. But, why its showing as false?
console.log("32" < "4") //This result is showing true. Why?
console.log("32" > "14") // Its showing true. How?

当 javascript 比较 2 个字符串时,它会比较字符串中字符在一系列中的位置,对于数字来说是“0123456789”。

原因("32" < "4" === true)是因为4比系列中的3晚,即4大于3(JS总是从第一个字符开始比较)。 当两个字符串中的第一个字符相等时,Javascript 只会移动到第二个字符。 它执行相同的操作并返回真、假或移动到下一个字符。 这就是为什么:

“4” > “39” === 真

“32” > “31” === 真

“30” > “3” === 真

对于您的最后一个示例,我将“32”<“14”的值设为假。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM