iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 13
0

今天我們來看物件實體語法object literals

JS可以透過new Object()來建立物件,但開發時相對少見這種寫法。
這是因為JS還有另一種更快建立物件的方法,就是物件實體語法object literals
什麼是物件實體語法呢?

來看看以下程式碼:

var Batman = {};

用一對大括號{}快速建立物件,大家最常用的就是這種寫法(我也是)。
這種寫法的好處在於可以同時建立屬性和方法:

var Batman = { 
		firstname: 'Bruce',
		lastname: 'Wayne'
};

使用物件實體語法和這種寫法

var Batman = new Object();
Batman['firstname'] = 'Bruce';
Batman['lastname'] = 'Wayne';

兩者其實是一樣的

物件實體語法的好處在於可以快速、直觀的建立物件、屬性和方法,早期沒有物件實體語法,使用[]計算取用成員運算子來建立物件很常見,而現在最常見的方式則是使用物件實體語法{}
另外變數[屬性]這種寫法並非被淘汰掉,有些地方還是看的到,例如我上次見到是在學node.js的時候,這種方式的優點是可以使用變數的方式來替換操作,還是挺有妙用的。

當有函式需要傳參數進去時,也是可以使用物件實體語法:

var dinner = { 
	meat:'牛肉',
	vegetables:'菠菜'
};

function today(food){
	console.log('今天吃' + food.vegetables);
}

today(dinner)

除了today(dinner)這種呼叫,函式傳值也可以這樣:

today({ meat:'牛肉',vegetables:'菠菜'})

結果是一樣的,這種傳物件的方式其實也很常常見到。
 
 
 
 
小結
今天複習了建立物件最快速的物件實體語法object literals,也知悉函式傳值可以直接用用物件實體語法。
至於筆記內容可以參照Udemy課程:JavaScript 全攻略:克服JS 的奇怪部分4-31


上一篇
Day12 物件與點
下一篇
Day14 JSON與物件實體
系列文
JavaScript基礎二三事30

1 則留言

1
微中子
iT邦新手 4 級 ‧ 2017-12-16 16:00:25

WOW 這篇github好棒!!
內容很詳細
感謝你的分享
/images/emoticon/emoticon12.gif

我要留言

立即登入留言