Object.getPrototypeOf
时间: 2023-07-17 17:01:13 浏览: 184
`Object.getPrototypeOf` 是一个 JavaScript 内置方法,用于获取指定对象的原型(也称为`__proto__`属性)。
其语法如下:
```javascript
Object.getPrototypeOf(obj)
```
其中,`obj` 表示要获取原型的对象。
该方法会返回指定对象的原型。如果对象没有原型(例如,它是 `null` 或 `undefined`),则会返回 `null`。
下面是一个示例:
```javascript
const animal = { eats: true };
const rabbit = Object.create(animal);
console.log(Object.getPrototypeOf(rabbit) === animal); // true
```
在上面的示例中,我们首先创建了一个具有 `eats` 属性的对象 `animal`。接下来,我们使用 `Object.create` 方法创建了一个原型为 `animal` 的新对象 `rabbit`。最后,我们使用 `Object.getPrototypeOf` 方法获取了 `rabbit` 的原型,并将其与 `animal` 进行比较,得到了 `true`。
相关问题
object.getprototypeof
`Object.getPrototypeOf` 是一个 JavaScript 内置方法,用于获取指定对象的原型(也称为`__proto__`属性)。
其语法如下:
```javascript
Object.getPrototypeOf(obj)
```
其中,`obj` 表示要获取原型的对象。
该方法会返回指定对象的原型。如果对象没有原型(例如,它是 `null` 或 `undefined`),则会返回 `null`。
下面是一个示例:
```javascript
const animal = { eats: true };
const rabbit = Object.create(animal);
console.log(Object.getPrototypeOf(rabbit) === animal); // true
```
在上面的示例中,我们首先创建了一个具有 `eats` 属性的对象 `animal`。接下来,我们使用 `Object.create` 方法创建了一个原型为 `animal` 的新对象 `rabbit`。最后,我们使用 `Object.getPrototypeOf` 方法获取了 `rabbit` 的原型,并将其与 `animal` 进行比较,得到了 `true`。
function copyObject(orig) { return Object.create( Object.getPrototypeOf(orig), Object.getOwnPropertyDescriptors(orig) ); }
这是一个用于复制对象的函数。它使用了 `Object.create()` 和 `Object.getOwnPropertyDescriptors()` 方法。
`Object.create()` 方法创建一个新对象,该对象的原型是传入的对象。这意味着新对象继承了传入对象的属性和方法。
`Object.getOwnPropertyDescriptors()` 方法返回一个对象的所有自身属性的描述符。描述符包括属性的值、getter 和 setter 函数、可枚举性、可配置性和可写性等信息。
在这个函数中,`Object.create()` 方法的第一个参数是 `Object.getPrototypeOf(orig)`,表示新对象的原型是传入对象的原型。`Object.getOwnPropertyDescriptors(orig)` 是一个对象,包含了传入对象的所有自身属性的描述符。这些描述符被用于为新对象添加相同的属性和方法。
最终,该函数返回一个新对象,它与传入对象具有相同的属性和方法。但是它们是不同的对象,对新对象的修改不会影响原始对象。
阅读全文