我正在上一门关于操作员的课程,在一次练习中,此示例显示了'a'>'A'=== true。它没有解释为什么它是真的。我尝试自己进行一些研究,并认为这可能与词典顺序有关,但这似乎并不正确。我还检查了它是否与ASCII和Unicode字母上的位置有关,但这似乎也不是。有人可以解释为什么JavaScript中的小写字母“ a”大于大写字母“ A”吗?
答案 0 :(得分:9)
因为a
IS比ASCII中的A
和下端UTF8
console.log("a > A is","a">"A","because a is","a".charCodeAt(0),"and A is","A".charCodeAt(0))
答案 1 :(得分:4)
答案 2 :(得分:1)
这是因为a
的{{3}}值比A
大:
console.log('a'.charCodeAt(0)) // 97
console.log('A'.charCodeAt(0)) // 65
console.log(97 > 65) // true
答案 3 :(得分:1)
大多数语言将有效地完成相同的事情:
例如PowerShell
[char]'a' -gt [char]'A'
我们可以将字母类型转换为char(不是字符串),比较将检查其基础Unicode值。
为什么我不确定这是为什么许多语言都将其作为默认行为。