热门

最新

红包

立Flag

投票

同城

我的

发布
bengxu
技术很有趣
3 年前
truebengxu

javascript symbol 不会被自动转换为字符串

JavaScript 中的大多数值都支持字符串的隐式转换。例如,我们可以 alert 任何值,都可以生效。symbol 比较特殊,它不会被自动转换。

例如,这个 alert 将会提示出错:

let id = Symbol("id");
alert(id); // 类型错误:无法将 symbol 值转换为字符串。

这是一种防止混乱的“语言保护”,因为字符串和 symbol 有本质上的不同,不应该意外地将它们转换成另一个。

如果我们真的想显示一个 symbol,我们需要在它上面调用 .toString(),如下所示:

let id = Symbol("id");
alert(id.toString()); // Symbol(id),现在它有效了

或者获取 symbol.description 属性,只显示描述(description):

let id = Symbol("id");
alert(id.description); // id

CSDN App 扫码分享
分享
评论
1
打赏
  • 复制链接
  • 举报
下一条:
白酒销售男生辞职转行JAVA,选择适合自己的职业赛道,并持之以恒以编程为乐,以编程为生。
立即登录