es6 物件的擴充套件 常用

2021-08-29 01:14:15 字數 1897 閱讀 7670

目錄

1.屬性的簡寫

2.object api

3.擴充套件運算子

如果物件中只寫屬性名,不寫屬性值。這時,屬性值等於屬性名所代表的變數。 

//es5寫法

var name='cc';

var obj=

//es6

var obj=

es6對於object建構函式也進行了擴充套件,加入了一些方法,如下。

1.object.is()

用於比較兩個值是否嚴格相等。與(===)基本一致,不同之處如下:

+0===-0  //true

nan===nan //false

object.is(+0,-0); //false

object.is(nan,nan); //true

2.object.assign()

用來將源物件的所有可列舉屬性複製到目標物件。它至少需要兩個物件作為引數,第乙個引數是目標物件,後面的引數都是源物件。只要有乙個引數不是物件就會報錯。

var a=;

var b=;

var c=;

//將b,c加入到a中

object.assign(a,b,c); //

2.1 為物件新增方法

object.assign(person.prototype,,

sayage()

});//===>等價

person.prototype.sayname=function();

person.prorotype.sayage=function();

3.object.setprototypeof(obj,prototype)

將prototype物件設定為obj的原型。

function animal()

function dog()

//繼承

dog.prototype=new animal();

//es6

object.setprototypeof(dog,new animal);

4.object.getprototypeof(obj)

用於讀取乙個物件的prototype物件

5.object.keys(obj)

返回乙個陣列,包括自身的(不包含繼承的)所有可列舉屬性(symbol屬性)

**:for-in 遍歷物件自身和繼承的可列舉屬性。

6.object.values()

返回物件中包含所有屬性值的陣列

7.object.entries()

返回物件所有鍵值對組成的陣列

var obj=

object.keys(obj); //["a","b","c"];

object.values(obj); //[1,2,3];

object.entries(obj); //[["a",1],["b",2],["c",3]]

該運算子用於取出引數物件的所有可遍歷屬性,複製到當前物件中。

let obj=;

let n=;

console.log(n);//

合併物件

var a=

}var b=

}b.sayname();

ES6 物件擴充套件

es6 允許直接寫入變數和函式,作為物件的屬性和方法 var key1 1 var bj var bz 方法的簡寫 var ob fn2 表示式還可以用於定義方法名。var lastword last word var a a first word hello a lastword world a ...

ES6物件擴充套件

es6允許直接寫入變數和函式,作為屬性名和方法 var a b var c c 如果屬性值與屬性名一樣,我們值寫屬性名就可以 方法簡寫 add add function 定義物件屬性有兩種方法 obj.name lijixuan 2obj name lijixuan 我們原本只能用識別符號定義屬性,...

ES6 物件擴充套件

物件擴充套件主要從四個方面開展 1.簡潔表示法 2.屬性表示式 3.擴充套件運算子 4.object新增方法 let es6 console.log es5,es6 object object 在es5中,我們去定義物件,多使用鍵值對的方式來定義,在es6中,我們直接使用變數名稱來定義就可以了。是不...