目錄
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中,我們直接使用變數名稱來定義就可以了。是不...