【发布时间】:2020-10-03 10:22:38
【问题描述】:
根据 MDN,
默认情况下,toString() 方法由 Object 的每个派生对象继承。如果自定义对象中没有重写此方法,则 toString() 返回“ [object type] ”,其中 type 是对象类型。
我的第一个问题是对象类型是什么意思?它是指数组、函数、对象、日期吗?我在谷歌搜索过对象类型,但找不到全面的解释。 考虑下面的例子
const toString = Object.prototype.toString; toString.call(new Date);
toString; toString.call(new Date); // [object Date]
toString.call(new String); // [object String]
toString.call(Math); // [object Math]
我不明白为什么 toString.call(new String) 返回 [object String] 从 MDN,它应该返回 [object type],在这种情况下类型应该是 object 因为 console.log (new String) 打印出 {" "} 这是一个对象。 [object String] 似乎也很矛盾,因为 String 不是 Object 的类型,String 是 Primitive
【问题讨论】:
-
不是toString是用来把数字转成字符串的吗? 3.toString(); // 返回“3”
标签: javascript tostring