JavaScript中的Object型別!
3.4.8 Object 型別
ECMAScript 中的物件其實就是一組資料和功能的集合。物件通過 new 操作符後跟物件型別的名稱來建立。開發者可以通過建立 Object 型別的例項來建立自己的物件,然後再給物件新增屬性和方法:
let o = new Object();
這個語法類似 Java,但 ECMAScript 只要求在給建構函式提供引數時使用括號。如果沒有引數,如
上面的例子所示,那麼完全可以省略括號(不推薦):
let o = new Object; // 合法,但不推薦
Object 的例項本身並不是很有用,但理解與它相關的概念非常重要。類似 Java 中的 java.lang.
Object, ECMAScript 中的 Object 也是派生其他物件的基類。 Object 型別的所有屬性和方法在派生
的物件上同樣存在。
每個 Object 例項都有如下屬性和方法。
constructor:用於建立當前物件的函式。在前面的例子中,這個屬性的值就是 Object()
函式。
hasOwnProperty(propertyName):用於判斷當前物件例項(不是原型)上是否存在給定的屬
性。要檢查的屬性名必須是字串(如 o.hasOwnProperty("name"))或符號。
isPrototypeOf(object):用於判斷當前物件是否為另一個物件的原型。(第 8 章將詳細介紹
原型。)
propertyIsEnumerable(propertyName):用於判斷給定的屬性是否可以使用(本章稍後討
論的) for-in 語句列舉。與 hasOwnProperty()一樣,屬性名必須是字串。
toLocaleString():返回物件的字串表示,該字串反映物件所在的本地化執行環境。
toString():返回物件的字串表示。
valueOf():返回物件對應的字串、數值或布林值表示。通常與 toString()的返回值相同。
因為在 ECMAScript 中 Object 是所有物件的基類,所以任何物件都有這些屬性和方法。第 8 章將
介紹物件間的繼承機制。