如何在Javascript中比较String和Symbol?

Stu*_*ent 0 javascript string comparison symbols

我有一个用Javascript定义的具有相同值的StringSymbolHello, Stack Overflow!。我如何比较它们的平等性?我在下面尝试过的所有比较都返回false。

var string="Hello, Stack Overflow!";
var symbol=Symbol("Hello, Stack Overflow!");

console.log(string == symbol);
console.log(string == symbol.toPrimitive);
console.log(string == symbol.toString);
console.log(string == symbol.toStringTag);
console.log(string === symbol);
console.log(string === symbol.toPrimitive);
console.log(string === symbol.toString);
console.log(string === symbol.toStringTag);
Run Code Online (Sandbox Code Playgroud)

Moh*_*med 6

您可以将字符串转换为符号,然后执行比较。

console.log(Symbol(string).toString() == symbol.toString())
Run Code Online (Sandbox Code Playgroud)