ES6學習筆記(3) 物件的功能性擴充套件

2022-07-09 13:24:13 字數 1029 閱讀 6269

一、什麼是物件字面量

物件字面量就是建立物件(object)的一種簡單容易理解的方式,再通俗點就是所謂的鍵值對的集合。舉個簡單的例子:

let book = ;

但是物件字面量存在一點小問題,那就是再建立物件的時候需要對屬性的值(如上面的name和price)進行初始化,此時會造成一定的重複。將上面的**改成如下形式就會體現出這個問題所在:

function getbook(bookname, price) 

};}

可以看出函式內部返回乙個物件,屬性名稱和函式的形參相同,而bookname和price都是重複的書寫,這樣子對編碼的效率也是極為低下的。es6對該種方式做了一定的擴充套件使其消除了屬性名稱和區域性變數之間的重複書寫。當乙個本地變數和物件屬性同名的時候,不需要再以鍵值對的方式書寫,而是可以簡化為如下的方式:

function getbook(bookname, price) 

};}

注意:上述的函式的書寫方式也一樣被簡化了。

二、全等運算子(===)和object.is()方法

在js中比較兩個值時,可能習慣使用相等運算子(==)或者全等運算子(===)來執行相應的語句,但是就算全等運算子也不一定完全準確,乙個比較常見的例子就是:

console.log('nan === nan: ' + (nan === nan));  // 返回false

es6中引入了object.is()方法來彌補全等運算子的不準確性,下面是一些實際的使用方法:

console.log(object.is(nan, nan));  // return true

console.log(object.is(5, '5')); // return false

console.log(object.is(5, 5)); // return true

ES6學習筆記03 物件賦值

解構賦值 let obj 變數名 屬性名 let obj console.log n1,n2 p1 p2 變數名 屬性名 let obj console.log x1,x2 p1 p2物件陣列巢狀 let obj x obj.a1 0 y obj.a1 2 let obj console.log x...

es6學習筆記(三)物件

在低 開發中,尤其是在低 編輯裡定義事件的處理函式中,最常見的概念就是物件了,我們需要熟記這個概念,因為你看官方的 的時候隨時隨地就會有這種語法,你掌握了學習起來難度也就降低了。es6 物件教程 啥是物件呢?其實簡單的理解就是它可以有屬性和方法,你看到一隊括號包起來的語法,那就是物件的意思,教程中也...

深入理解ES6 擴充套件物件的功能性

1.物件字面量語法擴充套件 function person name,age function person name,age 2.object.is 方法接受兩個引數,如果這兩個引數型別相同且具有相同的值,則返回true。該方法的執行結果大部分情況與 運算子相同,唯一的區別在於 0和 0被識別為不...