为什么Symbol('test').toString()运作良好,但我不能使用'' + Symbol('test')?
它会抛出错误:
无法将Symbol值转换为字符串
为什么隐式类型转换不起作用?为什么代码不相等'' + Symbol('test').toString()?
Rob*_*obG 23
根据ECMA-262,在Symbol类型的值上使用加法运算符并结合字符串值首先调用内部ToPrimitive,它返回符号.然后它调用内部ToString,对于Symbols,它将抛出TypeError异常.
因此调用内部ToString与调用Symbol.prototype.toString不同.
所以我想答案是:
为什么隐式类型转换不起作用?
是" 因为规范这么说 ".
| 归档时间: |
|
| 查看次数: |
10077 次 |
| 最近记录: |