JavaScriptのクラス


カテゴリ


JavaScriptにもクラスがあります.以前はありませんでしたが、ES 6に類文法が追加されたそうです.
だから等級は何ですか.
A JavaScript class is a blueprint for creating objects.
MITはクラスがオブジェクトを作成する青写真であることを示します.
もっと簡単に、射手は私に等級を理解するにはフナ餅を考えなければならないと説明した.
フナではなくフナを作るためのフレームワークが一流です.
これは正確な説明ではないとはいえ、大体このように理解すれば簡単です.
では、クラスはどのように使用されますか?
特にありません.classだと宣言すれば終わりです.
class FishBread {
	constructor (stuff, bake, price, count) {
      this.stuff = stuff;
      this.bake = bake;
      this.price = price * count;
      this.count = count;
    }
	
  	buyLotCheap(){
        if (this.count === 3 || this.count === 4) {
            return this.price -= 100
        }else if(this.count >= 5){
            return this.price *= 0.9
        }

        return null
    }
} 
let redBeanFishBread = new FishBread('redBean', '빠삭하게', 500, 5); 
console.log(redBeanFishBread);
redBeanFishBread.buyLotCheap(); // 2250

// FishBread {stuff: 'redBean', bake: '빠삭하게', price: '500원'}
価格変更なども気になりますが、ここまでにしましょう…
これにより、classという構文を使用してfishbreadというクラスを宣言し、内部でconstructorという構文を使用してfishbreadの初期値を宣言することができます.
購入価格に応じて価格を変動させるBuyLotCheapメソッドを定義した.
class MiniFishBread extends FishBread { 
    constructor(stuff, bake, price, count, size) {
        super(stuff, bake, price, count)
        this.size = size;
    }
}

let miniBread = new MiniFishBread('슈크림', '부드럽게', 300, 5, 'mini')

console.log(miniBread) //MiniFishBread {stuff: '슈크림', bake: '부드럽게', price: 1500, count: 5, size: 'mini'}

miniBread.buyLotCheap() // 1350
これにより、extendsを使用してFishBreadという親を取得して使用することができます.既存のFishBreadから初期値を取得する場合は、superを使用してメンテナンスしたり、親メソッドを使用したりできます.(プロトタイプフィルタ)
どうして使うの?
上のコードを見て感じたかもしれませんが、もう一度上記の例で説明すると
もしあなたがフナ餅を作る人だったら、フナ餅を作るたびにフレームがどこにあるか分からないので、フレームをもう一度買うべきだと思いますが、効率が悪いのではないでしょうか.
頑丈なフレームを作り、小豆やシュークリームだけに変えて、中に入れて売ると一番効率的です.
コードの再利用性を最大限に高め、余分な重複コードの作成を避けなければならない.
つまり、クラスとExtendsを使用して一貫したオブジェクトを作成し、機能拡張を行う必要があります.