0%

JS 筆記 - Object 物件的基本認識

JavaScript Note

一個物件可以是個零至多種屬性的集合,而屬性是鍵 (key) 與值 (value) 之間的關聯。 一個屬性的「值」可以是某個基本型別,也可以是另一個物件,甚至可以是一個函數。
*引用 KURO 老師這篇文章對於物件的陳述


物件的寫法

宣告一個變數 var ,自定義一個名稱,直接用一個大括號 {} 的方式來建立物件,資料結尾要用逗號 , ,也是 JSON 格式的核心語法,寫法如下:

var object ={};

有點像寫 CSS 格式的感覺,用這個聯想就滿好記的。

.header{};

在物件中加上屬性

在大括號裡面,會給物件一些內容,稱之為屬性
如果以一個家為例,家裡面有爸爸,名字叫做 Tim,那物件內容就會這樣寫:

1
2
3
var home ={
dad: "Tim"
}

增加屬性內容要注意的地方是:給屬性一個自定義的名稱,加上冒號 ,後面一樣要按照變數的資料型態來寫,字串要加上引號,數字則不用,多個物件內容要用逗點 , ,但最後一個物件項目,無須逗點。如下方程式碼:

1
2
3
4
5
var home ={
dad: "Tim",
mom: "Min",
son: "Joshua"
}

存取物件的屬性

物件本身不會被執行,要把物件中的屬性做存取的動作,才會被執行,假如要存取下方物件中的內容,要在物件名稱後加上點 .,才能取得屬性的值,程式碼可以這樣寫:

1
2
3
4
5
6
7
8
var home ={
dad: "Tim",
mom: "Min",
son: ["Joshua","John"],
chair:4
}
home.dad; //會得到 Tim 這個結果
home.son[0] //會得到 Joshua 這個結果

白話文:

  1. 在 home 的物件中,找到 dad 屬性中裡面的值,所以結果會得到 Tim。
  2. 在 home 的物件中,找到 son 陣列裡的第一個值,所以結果會得到 Joshua。

新增物件屬性

如果要在物件外,直接新增屬性到物件內的話,可以這樣寫:

1
2
3
4
5
6
7
8
var home ={
dad: "Tim",
mom: "Min",
son: ["Joshua","John"],
chair:4
}
home.dog = 1; //增加屬性 dog,值為 1 的內容到物件內
home.dog; //存取值就會得到 1

刪除物件屬性

如果要在物件外,直接刪除物件內屬性,可以這樣寫:

1
2
3
4
5
6
7
8
9
10
var home ={
dad: "Tim",
mom: "Min",
son: ["Joshua","John"],
chair:4
}
home.dog = 1; //增加屬性 dog,值為 1 的內容到物件內
home.dog; //存取值就會得到 1
delete home.dog; //刪除物件 home 裡面的屬性 dog
home.dog; //存取值會得到 undefined

其實滿直覺的

參考文章 https://ithelp.ithome.com.tw/articles/10190962