如何在Javascript中比较字符串和符号?
我有一个字符串和一个在Javascript中定义的相同值如何在Javascript中比较字符串和符号?,javascript,string,comparison,symbols,Javascript,String,Comparison,Symbols,我有一个字符串和一个在Javascript中定义的相同值你好,堆栈溢出。我如何比较它们的平等性?我在下面尝试过的所有比较都返回false var string=“你好,堆栈溢出!”; var symbol=symbol(“你好,堆栈溢出!”); log(字符串==符号); console.log(字符串==symbol.toPrimitive); log(字符串==symbol.toString); log(字符串==symbol.toStringTag); console.log(字符串==
你好,堆栈溢出代码>。我如何比较它们的平等性?我在下面尝试过的所有比较都返回false
var string=“你好,堆栈溢出!”;
var symbol=symbol(“你好,堆栈溢出!”);
log(字符串==符号);
console.log(字符串==symbol.toPrimitive);
log(字符串==symbol.toString);
log(字符串==symbol.toStringTag);
console.log(字符串===符号);
console.log(字符串===symbol.toPrimitive);
console.log(字符串===symbol.toString);
console.log(字符串===symbol.toStringTag)代码>Symbol()将始终返回唯一值
您可以使用稍有不同的方法,如下所示
Symbol.keyFor(Symbol.for(“你好,堆栈溢出!”)==“你好,堆栈溢出!”;//真的
请阅读更多
您可以将字符串转换为符号,然后执行比较
console.log(Symbol(string).toString() == symbol.toString())
没有其他更好的解决方案了吗?在这个比较中根本不使用符号定义,只使用字符串。是的,这是有效的。谢谢。符号没有值Hello,堆栈溢出代码>。您的意思是将其描述设置为该字符串吗?