我在 Firefox Web 控制台中尝试了以下操作。
var sow = (function(){ return this; }).call(Symbol());
console.log(typeof (sow)); // object
console.log(sow.toString()); // Works: Symbol()
String(sow); // Does not work: Throws "TypeError: can't convert symbol to string"
由于某种奇怪的原因,最后一条语句中的显式转换不起作用(引发错误)。
为什么会这样?
请注意,它sow是一个对象,并且toString它的原型链中有一个返回字符串的函数,因此它应该通过使用该函数来工作。
烙印99
相关分类