如何在Javascript中比较字符串和符号?

8

我有一个在Javascript中定义的字符串和一个符号,它们都有相同的值Hello, 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);


一个符号没有Hello, Stack Overflow!。你的意思是它的描述被设置为该字符串吗? - Bergi
2个回答

13
你可以将字符串转换为符号,然后执行比较。
console.log(Symbol(string).toString() == symbol.toString())

是的,这个可以。谢谢。 - Beginner

2

有没有其他更好的解决方案?在这个比较中,符号定义根本没有被使用,只有字符串被使用。 - Beginner

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接