JavaScript(ES 6-10)文法詳細——ES 6基礎知識【クラスクラス】


Class基礎文法
ES 5はクラスを宣言します
  • は、属性の両方と共通の方法を有するクラス
  • を定義する.
    let Animal = function(type) {
    	this.type = type;
    	this.eat = function() {
    		console.log('jack eating')
    	}
    }
    let dog = new Animal('dog');
    let monkey = new Animal('monkey');
    console.log(dog); //        type  ,   eat  
    console.log(monkey);//        type  ,   eat  
    //   eat       ,         function 
    
  • は、属性を有するクラスを定義し、プロトタイプチェーンを使用して共通の方法
  • を宣言する.
    let Animal = function(type) {
    	this.type = type;
    }
    Animal.prototype.eat = function() {
    	console.log('jack eat');
    }
    let dog = new Animal('dog');
    let monkey = new Animal('monkey');
    console.log(dog); //        type  ,  _prototype          eat         
    console.log(monkey);//        type  ,  _prototype          eat         
    //            ,        
    monkey.constructor.prototype.eat = function() {
    	console.log('changed');
    }
    //        monkey   ,     dog     eat  ,        Animal   
    
    ES 6はクラスを宣言します
    class Animal {
    	constructor(type) {
    		this.type = type;
    	}
    	eat() {
    		console.log('jack eat');
    	}
    }
    let dog = new Animal('dog');
    let monkey = new Animal('monkey');
    console.log(dog); //        type  ,  _prototype          eat         
    console.log(monkey);//        type  ,  _prototype          eat         
    //   !!
    //  Class   function        ,      constructor 
    console.log(typeof Animal); // Animal       function
    
    Setter&Getter
    読み書きのプロパティ
    未完…
    Static Methods
    操作方法
    未完…
    Subクラスes
    どのように一つのクラスを継承しますか?
    未完…
    Default Parameters
    関数パラメータの標準値
    未完…
    Reset Parameeter
    どのように処理すればパラメータが確定できますか?
    未完…
    Spread Operator
    restパラメータの逆演算
    未完…
    アルrow Functions
    矢印関数
    未完…