引用型別之 Object(三)

weixin_33890499發表於2016-12-26

Object 型別的原型屬性

按照慣例,我們還是來看看原文:

The Object prototype object is the intrinsic object %ObjectPrototype%.The Object prototype object is an immutable prototype exotic object.
The value of the [[Prototype]] internal slot of the Object prototype object is null and the initial value of the [[Extensible]] internal slot is true.

翻譯過來:

Object 原型物件是 %ObjectPrototype%,而它是一個不可變的原型異常物件。
[[Prototype]] 內部插槽指向的是 null,[[Extensible]] 預設為 true

接下來我們看看原型上的方法吧。


(1)Object.prototype.hasOwnProperty ( V )

概述:該方法用來判斷某個物件是否含有指定的自身屬性。

程式碼示例:

let obj = {
    a: 'Hello',
    b: 'World'};
console.log( obj.hasOwnProperty('a') );  // true
console.log( obj.hasOwnProperty('c') );  // false

(2)Object.prototype.isPrototypeOf ( V )

概述:該方法用於測試一個物件是否存在於另一個物件的原型鏈上。

程式碼示例:

function Rectangle() {
    //...
}  
let rec = new Rectangle();
console.log( Rectangle.prototype.isPrototypeOf(rec) );  // true

(3)Object.prototype.propertyIsEnumerable ( V )

概述:該方法返回一個布林值,表明指定的屬性名是否是當前物件可列舉的自身屬性。

程式碼示例:

let obj = {
    a: 'Hello',
    b: 'World'
};
console.log(obj.propertyIsEnumerable('a'));  // true

總結

Object 型別的方法其實還有 toString、toLocalString 和 valueOf,這三個就沒什麼好講了。接下來我們進入 Function 型別吧。

我到現在也沒有多少人看我這個系列,從今天起,堅持初心。就當成我每天的學習日記吧。

相關文章