什么是JavaScript中的基础对象

时间:2019-06-19 02:35:35

标签: javascript

https://github.com/lydiahallie/javascript-questions#14-all-object-have-prototypes 除基础对象外,所有对象都有原型。什么是基础对象

1 个答案:

答案 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使用)的名称冲突(可能不常见)。

相关问题