ES6 物件擴充套件

2021-08-17 16:32:24 字數 1363 閱讀 9573

物件擴充套件主要從四個方面開展:

1.簡潔表示法

2.屬性表示式

3.擴充套件運算子

4.object新增方法

;

let es6=;

console.log(es5,es6);

//object

//object

}

在es5中,我們去定義物件,多使用鍵值對的方式來定義,在es6中,我們直接使用變數名稱來定義就可以了。是不是比之前的寫法簡單很多,我們看看列印的結果,兩個物件是一樣的。只是寫法上不同而已,其他的都是一樣的。

下面,我們來看看方法是怎麼定義的:

};let es6_method=

};console.log(es5_method.hello(), es6_method.hello());// hello hello

}

在es6中直接寫方法,可以不用寫function。我們看一下結果,也是一樣的。

;

let es6_obj=;

console.log(es5_obj,es6_obj); //

}

在es5中,屬性值k是乙個估定值。在es6中,k值是可以是乙個變數的,使用包裹的變數。我們看到列印的結果,我們發現k值是b,所以在現實中,我們使用 [a] ,來實現變數的依賴。

object.is(), 判斷兩個值是否相等,這個與===的功能是一樣的。我們在使用字串來判斷的時候,都是true,再使用引用型別來測試時,兩個陣列的值不相等,列印的結果也是一樣的。

, )); // 

}

object.assign可以複製物件,但是這個是淺拷貝。在使用時,object.assign只會拷貝本身的屬性,不可列舉的屬性是不會拷貝的,原形鏈上的屬性也不會拷貝。

for(let of object.entries(test))

}

所以這裡的一些方法我們就不具體說了,跟陣列的擴充套件是類似的。

= ;

console.

log(a,b,c);// 1 2

}

物件的擴充套件運算子和陣列的擴充套件運算子也是類似的,但是現在對物件的擴充套件運算子的支援還不是很友好。得到的結果中我們可以看到,…c這樣的方式,會將右邊物件中沒有被左邊獲取的值都包括進去。

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 物件擴充套件

es6對物件進行了一系列的擴充套件,其中包括書寫方式及函式 1 物件簡寫 2 可計算屬性 let name angela let front lee let obj 等同於 getname function front name name 可擴充套件屬性 obj.getname 3 關於物件新增的方...