大家好!
今天要介紹的是類別函式,就是將前幾天的主題全都打包在一起的寫法。
那麼油門踩下去吧!
其實,對於 C++、Java、PHP、Python 和 Ruby 等程式語言來說,類別是用來建立物件的模板。
但是,對於 JavaScript 來說,類別只是函式般的存在,因為 JavaScript 並沒有類別模板,因此 ES6 問世前,建構函式一直是用來建立物件模板的唯一方法。
typeof (class {}); // 'function'
typeof (function () {}); // 'function'
class
就是 ES6 新增的語法糖,換湯不換藥的意思。
class Ironman {
/* 建構函式 */
constructor(n, d, p) {
this.name = n;
this.date = d;
this.post = p;
}
/* 原型方法 */
finish() {
if (new Date(this.date) < new Date('2021-10-15')) return;
this.status = true;
console.log('Congratulations!');
}
/* 靜態方法 */
static progress(date) {
let c = new Date(date);
let p = (c - new Date('2021-09-15')) / 86400000 / 30 * 100;
return Math.round(p) + '%';
}
}
綜合前幾天的舉例,使用類別函式的寫法就像上方這樣。
很直覺吧,靜態方法就在前方加上 static
就好,也不用多寫物件的屬性。
差不多也到尾聲了。
如果對文章有任何疑問,歡迎於下方提問和建議!
我是 Felix,我們明天再見!