[ES6 JavaScript] 類別 (Class) 與 建構式 (Constructor)
之前在學習 JavaScript 建構函式
時,常常被所謂的 類別(Class)
與 建構式 (Constructor)
, 搞得暈頭轉向,趁最近學習 ES6 的機會,好好的釐清這些 物件(Object) 的觀念 , 在此篇文章也會對 ES6
的新屬性 Class
進行說明:
之前在學習 JavaScript 建構函式
時,常常被所謂的 類別(Class)
與 建構式 (Constructor)
, 搞得暈頭轉向,趁最近學習 ES6 的機會,好好的釐清這些 物件(Object) 的觀念 , 在此篇文章也會對 ES6
的新屬性 Class
進行說明:
在 ES6
之前,我們一般在 JavaScrip 函式中定義 參數
的 預設值
,會使用 typeof
先進行判斷,在賦予其 預設值
, 如下 :
JavaScrip 在 ES6 中提供了 新的 宣告函式 的寫法
,為 箭頭函式
,此宣告方式比原本使用 functoin
字串來進行函式的宣告來的更 精簡
,下面來看看如何使用 箭頭函式
來進行函式的宣告吧:
JavaScript 的 ES6
中,多了兩種宣告變數的方法, let
與 const
, 這兩種宣告的方式出現,使 JavaScript 在編碼上更加的嚴謹,但相對的 提高
了不少的 可讀性
,給 降低
了許多 維護成本
, 下面說明會那原有的 var
宣告方式進行比較:
filter()
是 JavaScript 提供於 Array 資料型態 的方法,專門用來處理 過濾 陣列(Array)裡的元素,下面使用範例來實際說明,如何使用 JavaScript filter()
的方法:
閉包 (Closure)
是在開發 JavaSctip 時,宣告函式的一種模式,以在 MDN 中是這樣解釋:
閉包 (Closure)
是指能使用獨立(自由)變數的函式(在使用運用,但在封閉的作用域中定義)。換言之,這些函式能「記得」被建立時的環境。
光看上面的文字敘述,其實是有點難懂的,下面我們以實例來說明:
JavaScript 有 兩種
宣告變數 的類型,全域變數(Global Variable)
與 區域變數(Local Variable)
, 而兩者的差異就是 作用域(scope)
雖然 JavaScript 宣告變數的方式非常的容易,不過對這兩者的 作用域(scope)
,是需要花點時間去了解的,也是 JavaScript 的基本功:
JavaScript 的 判斷式 if...else
有提供簡寫的撰寫方式,只要透過一些 邏輯運算子,就可以簡化 判斷式 if...else
的 撰寫方式,進而達到簡化代碼的長度,甚至提升開發上的速度:
JavaSctipt 定義函式的方法不只有一種,而每一種定義函數的方式有著各自的術語,也會個別運用在不同的設計模式裡,對其了解也是學習 JavaScript 的基本功,說明如下: