ES6有關建構式 Constructor

出處: Youtube 彭彭的課程  

JavaScript ES6:類別與物件的基本觀念JavaScript ES6:定義、呼叫方法 Method

Udemy JavaScript、React、Flask、MongoDB 網站全端開發:從入門到進階

實作筆記

建構式是建構類別class用的函式,一定用在類別class中,建立新物件時會被呼叫。

創建一個叫做account的類別class,在裡面定義一個建構式constructor,等等創建新物件時會被呼叫。

這個建構式內有兩個屬性bank和money,可以讓新物件去調用。

類別中有兩個方法handling_fee與renew也可以讓新物件使用。

首先用account類別去產生一個新物件nini_account,調用屬性bank,並設定名字為Taiwan_bank。

第一、新物件nini_account想要用handling_fee(money)這個方法,並在money內放200元

nini_account.handling_fee(200),此時會觸動handling_fee(money)這個方法印出

Your balances in Taiwan_bank : 193

第二、新物件nini_account想要用renew()這個方法,

nini_account.renew();,此時會觸動renew();這個方法印出

Your balances in Taiwan_bank : 0

    class account{ //定義一個帳戶類別
        constructor(bank){
            this.bank=bank; //銀行名字
            this.money=0; //初始金為0元
        }
        handling_fee(money){  //手續費
            this.money=money-7; //手續費7元,會從輸入的值money去扣7元
            console.log(" Your balances in " + this.bank + " : "+ this.money );
        }
        renew(){
            this.money=0; //初始帳戶存款
            console.log(" Your balances in "  + this.bank + " : "+ this.money    
        );
        }
    }
        //產生新物件,新物件有bank和money屬性,與handling_fee與renew方法
        let nini_account= new account("Taiwan_bank")
        nini_account.handling_fee(200)  
        //印出 Your balances in Taiwan_bank : 193
        nini_account.renew();           
        //印出 Your balances in Taiwan_bank : 0