ES6 細化ES6之 物件的擴充套件

2021-10-25 07:43:22 字數 2226 閱讀 5548

物件的屬性

屬性表示法

es6 允許在大括號裡面,直接寫入變數和函式,作為物件的屬性和方法

es5

let name =

"張無忌"

;function

sayme()

// es5定義物件的屬性和方法的方式

var obj =

;console.

log(obj.name)

;//張無忌

es6

let name =

"張無忌"

;function

sayme()

// es6允許將變數名和函式名直接作為物件的屬性和方法的方式

var obj =

;console.

log(obj.name)

;//張無忌

object的方法

object.is()的方法

est 5比較兩個值是否相等,使用的是相等運算子( = = )和全等運算子( = = = )。但這兩個運算子在使用時都具有缺點:

es6提出了同值相等( same - value equality )演算法來解決以上問題。objectis() 方法就是對同值相等演算法的具體實現。.

// es5 .

console.

log(+0

===-0)

;// true

console.

log(

nan===

nan)

;// false

// es6

console.

log(object.is(

+0,-

0));

// false

console.

log(object.is(

nan,

nan));

// true

object.assign()的方法
用於將所有可列舉屬性的值從乙個或多個源物件複製到目標物件。

object.assign(target,...sources)

var obj =

;var target =

;let result = object.

assign

(target, obj)

;console.

log(result, target)

;//

target.name =

'周芷若'

console.

log(obj.name)

;// 張無忌

object.assign()方法只會拷貝源物件自身的並且可列舉的屬性到目標物件。

super關鍵字

用於指向當前物件原型物件

function

hero()

};}hero.prototype.age =18;

var hero =

newhero()

;hero.

sayme()

;hero.

sayyou

=function()

;hero.

sayyou()

;var prop =

;var obj =,}

;object.

setprototypeof

(obj, prop)

;obj.

sayme()

;

super關鍵字表示原型物件時,只能用在物件的方法之中,用在其他地方都會報錯。

物件的擴充套件運算子

物件的擴充套件運算子(…)用於取出引數物件的所有可遍歷屬性,拷貝到當前物件之中。

var obj =

;// 將元物件的可列舉的屬性複製到目標物件。

var target =

;console.

log(target)

;//

ES6擴充套件

模板字串和標籤模板 const getcourselist function const getcourselist function foo val if status let ul document.createelement ul ul.innerhtml arr.join else pads...

es6擴充套件

擴充套件 1.字串擴充套件 var str hello world substring 1,4 從第1個到第 4 1 個 substr 1,4 從第乙個往後面數四個 重要事項 與 slice 和 substr 方法不同的是,substring 不接受負的引數。indexof searchvalue,...

重走es6之es6物件

看到這裡突然就想到,你有物件嗎?我沒有 哭的超大聲 es6中規定可以直接在物件中寫入變數和函式作為物件的屬性和方法,此時屬性名為變數名,屬性值為變數的值。物件的簡寫在專案中使用頻率極其高。let name zhangsan let age 18let obj console.log obj 結果為 ...