es6隨手記 物件篇

2021-09-08 12:25:04 字數 2003 閱讀 3517

1.屬性的簡潔表示法

const b=1

const a= // a=

function f(x,y) }

f(1,2) //

a() {}

//等同於

a: function() {}

2.屬性名可以的是表示式,但是要用括起來,然後屬性名表示式不能和簡潔表示法一起用

3.物件的擴充套件運算子...

解構賦值  將物件中尚未讀取的屬性,分配到制定的物件上,解構賦值要求右側是物件,並且是淺拷貝,並且解構賦值必須是最後乙個引數

= 

x=1y=2

z=

擴充套件運算子...   取出引數物件的所有可遍歷屬性,拷貝到新物件中,如果擴充套件運算子後面不是物件會自動轉為物件。物件的擴充套件運算子等同於object.assign()

let a=

let b= //

//等同於

object.assign({},a)

// 字串有所不同,會轉成類似陣列的物件

4.object.is()  用來判斷兩個值是否相等,基本和===相同,區別是object.is()判斷+0不等於-0,nan等於nan

5.object.assign()  淺拷貝,用來合併物件,同名屬性後面覆蓋前面,可以用來給物件新增方法,設定預設值。陣列是特殊的物件,也可以處理,

object.assign([1,2,3],[4,5])  //[4,5,3]

object.assign(someclass.prototype, ,

anothermethod()

});// 等同於下面的寫法

someclass.prototype.somemethod = function (arg1, arg2) ;

someclass.prototype.anothermethod = function () ;

6.object.getownpropertydescriptors()  返回指定物件所有自身屬性的描述物件

7.object.setprototypeof()方法  用來設定乙個物件的proto物件,返回引數本身

object.getprototypeof()方法與object.setprototypeof()方法相對,用來獲取物件的原型物件

let proto = 

let obj =

object.setprototypeof(obj,proto)

// }

proto.z =30

obj.x //10

obj.y //20

obj.z //30

object.getprototypeof(obj)

8. object.keys() object.values() object.entries() 與陣列的類似用for...of迴圈分別返回,鍵名(屬性名),鍵值(屬性值),鍵值對

let a = ;

for (let i of object.keys(a))

for (let i of object.values(a))

for (let i of object.entries(a))

object.fromentries()方法是object.entries()方法的逆操作,將鍵值對轉成乙個物件

object.fromentries(['a':10],['b',20])  //

es6隨手記 陣列篇

1.rest引數 形式為 變數名 另外rest引數只能作為引數的最後乙個出現,不然報錯。function a a,b a 1,2,3,4,5,6 2.擴充套件運算子.這種情況為rest引數的逆運算,將引數轉成用逗號隔開的引數序列。後面也可以跟表示式 let a 1,2,3,4,5 console.l...

es6隨手記 Class的基本語法

es6中的類 實際上是建構函式的另一種寫法 class aa var b new aa b.dostuff aaa 實際上類上的所有方法也都定義到了這個類的prototype屬性上 上面等同於 aa.prototype 類上定義的方法是不可列舉的,這個和es5中有所區別。所以可以使用下面方法 obj...

隨手小記(es6)

在學習前輩阮一峰大神寫的 ecmascript入門 一書的過程中,第九章中講到物件擴充套件時,第一條我就有點看不懂 es6允許直接寫入變數和函式,作為物件的屬性和方法。這樣的書寫更加簡潔。var foo bar var baz baz 等同於var baz 當時我就沒想太多,就這樣過去了,結果在學習...