Object的構造函數方法


參考自MDN

Object 構造函數的方法

1、Object.assign()

將可枚舉屬性的值從一個或多個源對象復制到目標對象。

2、Object.create()

創建一個新對象,繼承現有對象的構造函數。

3、Object.defineProperty()

在新對象上定義一個新屬性的配置,或修改原有對象屬性的配置。

4、Object.defineProperties()

定義或修改多個屬性的配置

5、Object.entries()

返回對象自身可枚舉屬性的[key , value]

6、Object.fromEntries()

傳入一個鍵值對列表,轉換成一個對象

const entries = [ ['foo', 'bar'] , ['baz', 42],['three','333'] ];
const obj = Object.fromEntries(entries);
// expected output: Object { foo: "bar", baz: 42, three: "333" }

const entries2 = new Map([ ['foo', 'bar'] , ['baz', 42],['three','333'] ]);
const obj2 = Object.fromEntries(entries2);
// expected output: Object { foo: "bar", baz: 42, three: "333" }

7、Object.freeze()

凍結對象,不能刪除或更改任何屬性。

8、Object.getOwnPropertyDescriptor()

返回指定的對象屬性的配置

9、Object.getOwnPropertyNames()

返回一個由自身屬性名組成的數組

10、Object.getPrototypeOf()

返回當前對象的原型,如果沒有繼承屬性則返回null

  const prototype1 = {};
  const object1 = Object.create(prototype1);
  // expected output: Object {  }
  const prototype2 = { aaa: 123 };
  const object2 = Object.create(prototype2);
  // expected output: Object { aaa: 123 }

11、Object.is(value1, value2)

判斷兩個值是否相同,特殊值詳見文檔( NaN,null,undefined... )

12、Object.isExtensible()

判斷一個對象是否是可以添加新的屬性

13、Object.isFrozen()

判斷一個對象是否被凍結

14、Object.preventExtensions()

讓對象變得不能擴展(密封對象),永遠不能再添加新的屬性

15、Object.isSealed()

判斷一個對象是否被密封

(什么是密封對象:

  密封對象的自身屬性是不可配置的,

  { }可以設置為密封對象,

  { fee: "fie" }不可以,如果把 fee 變成不可配置屬性,這個對象就可以設置成密封對象

16、Object.keys()

返回給定對象自身可枚舉屬性名組成的數組。

17、Object.seal()

返回給定對象封閉后的對象,不能添加新屬性,現有屬性變得不可配置,當前屬性的值只要可寫就可以改變

18、Object.setPrototypeOf()

設置指定對象的原型,可以是null

19、Object.values()

返回可枚舉對象屬性的值

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM