问题描述
在这种情况下,对象到字符串的转换是如何工作的?而且,更重要的是...“默认”toString
方法在这里做什么?
let a = {
valueOf: function () {
return {};
},toString: function() {
//conversion to string
}
};
console.log(String(a)); //[object Object]
据我所知,对象在 toString
方法中被转换为字符串。它不能返回一个对象,然后才在 String
操作中(我的意思是最后一行带有 console.log
),将此对象转换为字符串类型。因为在那种情况下,方法应该只返回原语,而不是对象。
至于方法 valueOf
,我想在所有这些情况下,当此方法的“默认”行为(返回对象本身)未被覆盖时,将返回对象本身。结果,这种方法几乎总是被忽略。 简单地说,我想说“默认”方法valueOf
总是返回对象。我说得对吗?
那么,我的第一个问题是:在 toString
方法中是否正确地转换为字符串类型?如果是,方法 toString
是否总是将对象转为字符串类型?
还有我的第二个问题:“默认”valueOf
方法是否总是返回对象?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)