Javascript 看起来相同的字符串不是';不相等

Javascript 看起来相同的字符串不是';不相等,javascript,string,equality,Javascript,String,Equality,有些单元测试失败了。调试后,我在这里跟踪问题 var a=“1234.12美元” var b=“1234.12美元” log(a==b)两个字符串中存在隐藏的差异。运行以下命令: var a=“1234.12美元” var b=“1234.12美元” 对于(变量i=0;ichar!==b[index])中执行Array.from(a).findIndex((char,index)=>char!==b[index])。您可以从(a).forEach((char,index)=>console.

有些单元测试失败了。调试后,我在这里跟踪问题

var a=“1234.12美元”
var b=“1234.12美元”

log(a==b)
两个字符串中存在隐藏的差异。运行以下命令:

var a=“1234.12美元”
var b=“1234.12美元”
对于(变量i=0;i}
只有当两个字符串的代码单位数量相同,并且对于每个索引,一个字符串的代码单位与另一个字符串的代码单位匹配时,两个字符串才相等。此处缺少此级别的调试。您可以从(a).findIndex((char,index)=>char!==b[index])中执行
Array.from(a).findIndex((char,index)=>char!==b[index])
。您可以从(a).forEach((char,index)=>console.log(“a”,char,char.codePointAt(),“vs.b”,b[index],b[index].codePointAt()))或。它很容易复制(单击“运行代码段”按钮),很有趣(如果您不知道不同类型的空格),并且有一个明确的答案。@Evert这也是调试过程的一半,更好的问题应该是“如何在不考虑字符串中不同类型的空格的情况下进行相等性测试”@Evert实际上,理解问题后,如何回答“如何在不考虑字符串中不同类型空格的情况下进行相等性测试”@TSR如果是这样的情况,请编辑帖子以说明这一点。这个问题以前以各种形式被提出过,但我没有看到明显的复制目标,而且这看起来是最干净的复制,所以我建议它是规范的。向上投票。