[英]why Array.prototype only output [] in console?
String.prototype
String {}
Object.prototype中
Object {}
Boolean.prototype
Boolean {}
但Array.prototype
输出[]
,为什么不是Array []
或其他东西? 发生了什么?
我查看了ECMA规范和V8源代码,但我无法得到具体答案。
根据ECMA-262规范 ,每个对象必须具有所有基本内部方法的算法,但是,所有对象不一定对这些方法使用相同的算法,这意味着输出将是特定于实现的,至少在[ [GetPrototypeOf]] 。
因此,如果您在不同的浏览器中尝试相同的操作,您会注意到每个浏览器的输出略有不同。
Internet Explorer 11:
Array.prototype
[object Array] []
String.prototype
[object String] {length:0}
Object.prototype
[object Object] {}
Boolean.prototype
[object Boolean] {}
火狐:
Array.prototype
[object Array]
String.prototype
[object String]
Object.prototype
[object Object]
Boolean.prototype
[object Boolean]
Chrome和Opera:
Array.prototype
[]
String.prototype
String {}
Object.prototype
Object {}
Boolean.prototype
Boolean {}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.