https://github.com/lydiahallie/javascript-questions#14-all-object-have-prototypes 除基础对象外,所有对象都有原型。什么是基础对象
答案 0 :(得分:1)
基础对象是Object.prototype
:
Object.prototype
是Object构造函数的属性。 这也是原型链的结束。
console.log(Object.getPrototypeOf(Object.prototype));
大多数对象是从某个原型继承的,而这些对象可能是从某个其他原型继承的,最终以Object.prototype
结尾。
console.log(
Object.getPrototypeOf(Function.prototype) === Object.prototype,
Object.getPrototypeOf(Number.prototype) === Object.prototype,
Object.getPrototypeOf(Object.getPrototypeOf(5)) === Object.prototype
);
也就是说,您链接中的文本并不是完全准确的-可以创建最终不会继承自Object.prototype
的对象,例如:
const obj = Object.create(null);
console.log(Object.getPrototypeOf(obj));
这样做可以避免Object.prototype
方法(可以cause bugs使用)的名称冲突(可能不常见)。