ES6對象擴展


聲明對象時,可以只寫屬性名合陵,不寫屬性值

/*ES5中*/
var obj = {
    foo: "aaaa"
}
console.log(obj.foo);  //aaaa
/*ES6中*/
var foo = 'aaaa';
var obj = {
    foo
}
console.log(obj.foo);  //aaaa
var obj1 = {
    foo() {
        return 'hello!';
    }
}
var obj2 = {
    foo: function () {
        return 'hello!'
    }
}
console.log(obj1.foo()); //hello
console.log(obj2.foo()); //hello

增加對象屬性的方法

var prop = 'age';
var obj = {};
obj.name = 'name1';
obj[prop] = 18; //用方括號作為對象的屬性名潭兽,然后里面寫一個變量或者表達式:
obj["prop"+"prop"] = "pppp";
console.log(obj);  //Object {name: "name1", age: 18, propprop: "pppp"}

Object.is()屬性

用于比較兩個值是否相等

在ES5中,我們常用到 == 和 ===王浴,但 == 會存在隱式類型轉換脆炎,===的NaN不等于自身,+0等于-0

ES6的Object.is()屬性解決了這個問題氓辣。


+0 === -0 //true
NaN === NaN // false
 
Object.is(+0, -0) // false
Object.is(NaN, NaN) // true

Object.assign()屬性

對象合并秒裕,該方法第一個參數(shù)是目標對象,后面的參數(shù)都是源對象钞啸。
相當于淺拷貝(如果大家不知道什么是淺拷貝几蜻,可以參考我前面的寫的)

var target = { a: 1 };
var source1 = { b: 2 };
var source2 = { c: 3 };
Object.assign(target, source1, source2);
console.log(target); //Object {a: 1, b: 2, c: 3}

一旦遇到同名屬性喇潘,后面對象的屬性會覆蓋前面對象的屬性。

var target = { a: 1 };
var source1 = { b: 2 };
var source2 = { b: 3 };
Object.assign(target, source1, source2);
console.log(target); //Object {a: 1, b: 3}

Object.keys()屬性

輸出屬性名

var obj = { foo: "bar", baz: 42 };
console.log(Object.keys(obj));   //["foo", "baz"]

Object.values()屬性

輸出屬性值

var obj = { foo: "bar", baz: 42 };
console.log(Object.values(obj));//["bar", 42]

Object.entries()屬性

將對象的所有信息包裝成為二維數(shù)組


讀寫操作

_proto_前后的雙下劃線梭稚,說明它本質上是一個內部屬性颖低,而不是一個正式的對外的 API,只是由于瀏覽器廣泛支持弧烤,才被加入了 ES6.

從語義的角度忱屑,還是從兼容性的角度,都不要使用這個屬性暇昂,而是使用下面的Object.setPrototypeOf()(寫操作)Object.getPrototypeOf()(讀操作)莺戒、Object.create()(生成操作)代替.

var obj1 = {
    a:1
}
var obj2 = {
    b:2
}
Object.setPrototypeOf(obj1,obj2);//obj1.__proto__ = obj2;
console.log(obj1.b); //2

擴展運算符 “ ... ”

var arr1 = [1,2,3];
var arr2 = [4,5,6];
var arr = [...arr1,...arr2];
console.log(arr); //[1,2,3,4,5,6]

rest運算符 “ ... ”

var [a,...b] = [1,2,3];
console.log(a);//1
console.log(b);//[2,3]
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市话浇,隨后出現(xiàn)的幾起案子脏毯,更是在濱河造成了極大的恐慌,老刑警劉巖幔崖,帶你破解...
    沈念sama閱讀 206,723評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件食店,死亡現(xiàn)場離奇詭異,居然都是意外死亡赏寇,警方通過查閱死者的電腦和手機吉嫩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來嗅定,“玉大人自娩,你說我怎么就攤上這事∏耍” “怎么了忙迁?”我有些...
    開封第一講書人閱讀 152,998評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長碎乃。 經常有香客問我姊扔,道長,這世上最難降的妖魔是什么梅誓? 我笑而不...
    開封第一講書人閱讀 55,323評論 1 279
  • 正文 為了忘掉前任恰梢,我火速辦了婚禮,結果婚禮上梗掰,老公的妹妹穿的比我還像新娘嵌言。我一直安慰自己,他們只是感情好及穗,可當我...
    茶點故事閱讀 64,355評論 5 374
  • 文/花漫 我一把揭開白布摧茴。 她就那樣靜靜地躺著,像睡著了一般埂陆。 火紅的嫁衣襯著肌膚如雪蓬蝶。 梳的紋絲不亂的頭發(fā)上尘分,一...
    開封第一講書人閱讀 49,079評論 1 285
  • 那天,我揣著相機與錄音丸氛,去河邊找鬼培愁。 笑死,一個胖子當著我的面吹牛缓窜,可吹牛的內容都是我干的定续。 我是一名探鬼主播,決...
    沈念sama閱讀 38,389評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼禾锤,長吁一口氣:“原來是場噩夢啊……” “哼私股!你這毒婦竟也來了?” 一聲冷哼從身側響起恩掷,我...
    開封第一講書人閱讀 37,019評論 0 259
  • 序言:老撾萬榮一對情侶失蹤倡鲸,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后黄娘,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體峭状,經...
    沈念sama閱讀 43,519評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 35,971評論 2 325
  • 正文 我和宋清朗相戀三年逼争,在試婚紗的時候發(fā)現(xiàn)自己被綠了优床。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,100評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡誓焦,死狀恐怖胆敞,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情杂伟,我是刑警寧澤移层,帶...
    沈念sama閱讀 33,738評論 4 324
  • 正文 年R本政府宣布,位于F島的核電站赫粥,受9級特大地震影響观话,放射性物質發(fā)生泄漏。R本人自食惡果不足惜傅是,卻給世界環(huán)境...
    茶點故事閱讀 39,293評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蕾羊。 院中可真熱鬧喧笔,春花似錦、人聲如沸龟再。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽利凑。三九已至浆劲,卻和暖如春嫌术,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背牌借。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評論 1 262
  • 我被黑心中介騙來泰國打工度气, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人膨报。 一個月前我還...
    沈念sama閱讀 45,547評論 2 354
  • 正文 我出身青樓磷籍,卻偏偏與公主長得像,于是被迫代替她去往敵國和親现柠。 傳聞我的和親對象是個殘疾皇子院领,可洞房花燭夜當晚...
    茶點故事閱讀 42,834評論 2 345

推薦閱讀更多精彩內容

  • 1. 屬性的簡介表示法 ES6允許在對象之中,只寫屬性名够吩,不寫屬性值比然。此時,屬性值等于屬性名所代表的變量周循。如果某方...
    sponing閱讀 919評論 1 5
  • 1.屬性的簡潔表示法 允許直接寫入變量和函數(shù) 上面代碼表明强法,ES6 允許在對象之中,直接寫變量鱼鼓。這時拟烫,屬性名為變量...
    雨飛飛雨閱讀 1,130評論 0 3
  • 三,字符串擴展 3.1 Unicode表示法 ES6 做出了改進迄本,只要將碼點放入大括號硕淑,就能正確解讀該字符。有了這...
    eastbaby閱讀 1,514評論 0 8
  • 屬性的簡潔表示法 ES6允許直接寫入變量和函數(shù)嘉赎,作為對象的屬性和方法置媳。這樣的書寫更加簡潔。 上面代碼表明公条,ES6允...
    呼呼哥閱讀 2,906評論 0 2
  • 這是寫給我們異地戀的第一年拇囊,你要放棄工作回來找我,我仔細想了想靶橱,給你寫了一封信寥袭。 仔細掰著指頭數(shù)數(shù),有多久沒有給你...
    我們一路向北閱讀 425評論 0 3