当我尝试在控制台中计算此表达式时,结果为 false
,为什么?
console.log('\u{1D11E}'.charAt(0) === '\u{1D11E}')
最佳答案
一个简单的 console.log 就能告诉你问题所在
console.log('\u{1D11E}'.charAt(0))
console.log('\u{1D11E}')
console.log('\u{1D11E}'.charAt(0) === '\u{1D11E}')
如您所见,它们不会给出相同的结果,那是因为 charAt
只处理 UTF-16
code units .请参阅同一来源的代码片段,了解如何处理 UTF-16 字符(也在其他平面上,因此代码点 > 65535)。
关于javascript - 为什么 '\u{1D11E}' .charAt(0) 不等于 '\u{1D11E}' ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63028648/