Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Javascript中比较字符串和符号?_Javascript_String_Comparison_Symbols - Fatal编程技术网

如何在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(字符串==

我有一个字符串和一个在Javascript中定义的相同值
你好,堆栈溢出。我如何比较它们的平等性?我在下面尝试过的所有比较都返回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,堆栈溢出。您的意思是将其描述设置为该字符串吗?