---
# System prepended metadata

title: 【Day19】物件Object
tags: [JavaScript, 14th鐵人賽]

---

# 【Day19】物件Object
###### tags: `JavaScript` `14th鐵人賽`
物件是JavaScript中很強大的功能！他可以將許多的屬性儲存在一個數據中裝到一個容器中，但有些人可能會疑惑，陣列也可以存放許多元素，跟物件又有什麼不同？陣列是將型別存放於其中，但物件可以將東西的細部資訊用屬性的方式呈現。

本篇會介紹： 

- 物件的格式
- 如何讀取物件的值
---

## 物件

物件能放置的屬性內容多元：包括字串、數字、布林值、函式、陣列

其中要注意的是

- `{ }`大括號包住所有的屬性
- `,`逗號隔開每個屬性
- 內容為屬性，非變數

```jsx
var a = {
key : value,
屬性 : 內容,
屬性 : 內容
}
```

以我的正妹朋友同時有兩個追求者為例，這時若需要記錄下追求者的細部資訊、資料就可以使用物件。

```jsx
var jason = {
	name: "jasonWu",
	age: 26,
	salary: "70萬",
	parents: ["dad","mom","sister","sister"],
	pet: false,
	travel: function(){ return "好麻煩喔喜歡在家";}
};
var wally = {
	name: "wallyChen",
	age: 30,
	salary: "100萬",
	parents: ["dad","brother"],
	pet: true,
	travel: function(){ return "滿喜歡去登山游泳的!";}
};
```

### 屬性存取

可以使用`[ ]`括號表示法、`.`點表示法訪問屬性，且都會得到相同的結果

只是要注意使用`[ ]`時不能加上`.`

```jsx
jason["pet"] // false 
jason.pet // false
```

在JASON格式的資料時會遇到`"001”`的屬性當屬性是字串且開頭為數字時就可以使用`[" "]`的方式讀取

### 函式屬性存取

```jsx
wally.travel() // 滿喜歡去登山游泳的!
wally.travel // 錯誤!
```

### 屬性命名

- 可使用大小寫
- 無法使用數字
- 無法使用-

```jsx
var a = {
	1: true,
	is-letter:true
}

a.1 // 錯誤
is-letter // 錯誤
```

以上為本次的介紹內容，如果大家也好夯好多個追求對象也可以使用物件來練習看看唷XDD

若對本篇有問題歡迎指教與討論