iT邦幫忙

2022 iThome 鐵人賽

DAY 10
0
Modern Web

Node.js系列 第 10

DAY 10 JS物件方法與屬性

  • 分享至 

  • xImage
  •  

DAY 10 JS物件方法與屬性

{%hackmd BJrTq20hE %}

tags: 第 14 屆 iThome 鐵人賽 (2022)

物件 (Object)

物件基本概念
JavaScript 本身就是一個物件導向語言,除了原生型別 number、string、boolean、null、undefined 之外,都是物件,物件具有屬性(properties)方法 (methods) 可以操作,使用『物件』來做程式設計模式稱為『物件導向程式設計』。

建立物件之前必須先定義 『類別 (class)』 ,也就是先定義好這個物件長什麼樣子以及要做哪些事情。類別定義的樣式,稱為 『屬性 (Properties)』,要做的事或提供的方法,稱為『類別 (Methods)』。『物件』則是由類別利用 new 關繫字建立的物件實體 (intance),由類別建立物件實體的過程稱為『實體化 (Instantiation)』。

物件導向的三大特性,分別是『封裝 (Encapsulation)』、『繼承 (Inheritance)』與『多型 (Polymorphism)』,以下簡單說明這三大特性。

  • 封裝:類別的內部成員封裝起來,他人不需要知道程式內部是如何實作,只能透過類別所提供的介面來操作公開的成員,達到『資料隱藏 (information hiding)』的效果,避免資料被任意修改及讀寫,也能過濾不必要或錯誤的資料。
  • 繼承:利用舊的類別建立出新的類別,舊類別稱為『父類別』,新的類別則稱為『子類別』。子類別不但會保有父類別公開的屬性及方法,還能夠擴充自己的屬性與方法。如此一來,程式就可以重複利用。
  • 多型:多行也稱為『同名異式』,簡單來說就是使用同一個介面,在不同的條件下執行不同的動作。

在Object(物件)的建立方法,除了建構函數(constructor)外,另外可以使用Object.create()方法,透過一個已經定義完成的物件建立新的物件,Object.create()方法會將定義完成的物件作為新物件的原型(prototype)以建立新物件。

屬性(properties)

JS 語言定義物件的屬性,有兩種方法:

//方法1
obj.foo = true;

//方法2
obj['a'+'bc']=123;

上面程式的方法一是直接用是別符號作為屬性名稱,
方法二是用運算是作為屬性名稱,這時要將運算式放在中括號內。

類別

嚴格意義上來講,Node.js的類別不能算類別,他只是一個函數的集合體,加一些成員變數,不過我們接下來都稱其為「類別」,產生實體的叫「物件」。因為類別具有很多函數的特性,或說類別的本質是一個函數。接下來我會介紹類別的靜態方法、原型方法、實例方法、產生實體、類別修飾器以及類別方法修飾器、類別的繼承。


上一篇
DAY 9 NodeJS-Module、Require與Export
下一篇
DAY 11 類別(Class)宣告和繼承
系列文
Node.js30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言