ClassScript
ClassScript是一個模擬Java寫法的JavaScript Lib,目的是讓開發者能再JavaScript的環境中,用Java宣告Class類似語法來宣告JavaScript的Class。但是基於JavaScript本身的語法限制,所以不可避免有些部份無法實作出來,但是還是能提供相當直覺的宣告方式,目前實作出來的語法介面為下:
- Package - 並非實際的將class包起來,而是使用物件來存放Class的參照,比較像是命名空間
- Class - 類別的宣告,並提供Extends、Implments兩個語法介面的實作
- Interface - 本質上也是個類別,只是提供Interface關鍵字來模擬,在嘗試實作new時會拋出例外
- Abstract.Class - 本質上也是個類別,只是提供Abstract關鍵字來模擬,在嘗試實作new時會拋出例外
- Super - 父類別參照,透過Super來呼叫superclass的參照
- Static - 靜態屬性,在Class的建構式中,使用Static.來宣告Class的靜態方法
- Native - 針對 JavaScript原生類別作為擴充的特別類別宣告方法
開發感想:
由於JavaScript是個弱型別與直譯式的語法,所以是否要實作Interface與Abstract.Class的令我蠻猶豫的,宣告了一個完全沒有實作的方法的介面或抽象類別,再給一個Class去實作、繼承,在JavaScript感覺作了兩次工,光宣告介面就感覺像多此一舉,而且研究目前有實坐出Class的JavaScript Lib,幾乎也都只有Class,其他似乎沒必要。但既然說要模擬Java的宣告方式,就索性得把這些方法都做出來了。

回應(Leave a Reply)