【独学JavaScript入門㉑】メソッド

メソッドとはオブジェクトに行う処理のことです。前回、スポーツジムに入会した太郎さんを例にメソッドをご説明します。

おさらいですが、未記入の入会申込書がクラス、太郎さんが自分の身長や体重などのデータ(プロパティ)を記入して具体的になったものがインスタンス(オブジェクト)でした。

太郎さんはどのくらい減量したいかによってコースを選択します。このコース(メソッド)は入会申込書(クラス)にしっかりと記載されています。すなわちクラスの宣言の中でメソッドを定義する必要があります。

コースメソッド
軽め5%減wt * 0.95
標準10%減wt * 0.9
ハード20%減wt * 0.8

実際にソースコードで確認してみます。今回も「this」は特に気にしないで進めてください。

//クラスの宣言 人は以下の情報を持つ
class human {
   constructor(name, ht, wt){
      this.name = name;
      this.ht = ht;
      this.wt = wt;
   }

   //メソッドの定義
   light() {
      return this.wt * 0.95;  
   }
   standard() {
      return this.wt * 0.9;  
   }
   hard() {
      return this.wt * 0.8;  
   }
}

//インスタンス化
var taro = new human();

taro.name = "taro";
taro.ht = 170;
taro.wt = 60;

//メソッドの実行結果を表示
console.log(taro.light());
console.log(taro.standard());
console.log(taro.hard());

//右が切れたら左にスワイプしてください

メソッドは関数と一緒じゃないかと思われた方もおられるかと思います。最初混乱しそうであればメソッドと関数は同じようなものと思われて大丈夫です。

ただ、明確な違いがあります。メソッドは宣言を行ったクラスのみしか処理を行うことができません。今回の例でいうと人(humanクラス)のみしか「light_menu」などで処理を行うことができません。別で定義したお金の変数を0.95倍したいと思ってlight_menuを使用することはできず、何に対してでも処理を行える関数と性質が異なりますので注意が必要です。

JavaScript入門一覧に戻る