# 【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
若對本篇有問題歡迎指教與討論