JavaScript超入門コース】14.実践|すべて理解できればJavaScriptの超入門者から卒業です【プログラミング初心者向け入門講座】

JavaScript超入門コース

この記事の執筆・監修

キノコード
キノコード

テクノロジーアンドデザインカンパニー合同会社のCEO。
日本最大級のプログラミング教育のYouTubeチャンネル「キノコード」や、プログラミング学習サービス「キノクエスト」を運営。
著書「あなたの仕事が一瞬で片付くPythonによる自動化仕事術」や、雑誌「日経ソフトウエア」や「シェルスクリプトマガジン」への寄稿など実績多数。

はじめに

こんにちは。キノコードです。
「【5分レッスン】JavaScript超入門コース#14 実践」について説明します。

クラスの定義

実践編として、テスト結果を判定するプログラムを作ってみましょう。
まず、どんなクラスを定義するか説明します。
クラス名はStudentとします。そのクラスにユーザーの名前「name」のフィールドを定義して、さらに、点数の平均を計算するメソッドを定義します。
まずClassと書いて、次にクラス名を書きます。
今回はStudentというクラス名なので、Student。

フィールドの定義

次に、コンストラクタの定義していきましょう。
佐藤さん、鈴木さん、佐々木さんといったような名前を代入したいので、プロパティはnameとしておきましょう。

メソッドの定義

カウンタ変数を使って、配列の平均を計算するcalculateAvgというメソッドを定義します。
これでフィールドとメソッドの定義は完了です。

インスタンス化

続いて、「インスタンス化」をします。
まず、変数名を書きます。
変数名は、ユーザー名の「sato」としておきましょう。
イコールを書いて、new演算子という「new」を書いて、クラス名に丸括弧をつけておわりのコロン。
インスタンス化が終わり、クラスを使えるようになりました。
フィールドに値を代入してみましょう。
代入方法は、オブジェクト名のあとにピリオド、フィールド名です。
ユーザーはsatoさんなので、フィールドにもsatoを代入しましょう。
次に、calculateAvgメソッドを作ってみましょう。
配列変数のdataを定義します。
変数名はavgとしましょう。
イコールを書いて、引数dataを代入。
平均点を計算するメソッドを作成することができました。

class Student{

  constructor( name ) {
    this.name = name;
  }

  calculateAvg(data) {
    var sum = 0;
    for( var i=0; i < data.length; i++ ) {
      sum += data[i];
    }
    var avg = sum/data.length;
    return avg;
  }

}
var sato = new Student();
var data = [70, 65, 50, 90, 30];

sato.name=""sato"";
var avg = sato.calculateAvg(data);

最後に、jedgeメソッドを作ってみましょう。
変数名はresultとしましょう。
イコールを書いて、引数avgを代入。
結果が表示されるようにコンソールログを書きます。
テスト結果を判定するメソッドを作成することができました。
表示させてみましょう。

"
class Student{

  constructor( name ) {
    this.name = name;
  }

  calculateAvg(data) {
    var sum = 0;
    for( var i=0; i < data.length; i++ ) {
      sum += data[i];
    }
    var avg = sum/data.length;
    return avg;
  }

  jedge(avg) {
    var result;
    if( 60 <= avg ) {
      result = ""passed"";
    } else {
      result = ""failed"";
    }
    return result;
  }

}
var sato = new Student();
var data = [70, 65, 50, 90, 30];

sato.name=""sato"";
var avg = sato.calculateAvg(data);
var result = sato.jedge(avg);    

console.log(sato.name + "" "" + result);"

sato passed と表示されました。
平均点が60以下なので、sato failedが表示されました。

未経験からはじめるPython学習「キノクエスト」 キノクエスト
  • スキルアップしたいけど何からはじめればよいかわからない…
  • プログラミングスクールに入りたいけど料金が高い…
  • プログラミングを学んでも業務やキャリアに活かせるか不安…

キノクエストは、このような悩みを持つ方にぴったりのプログラミング学習サービスです。
国内最大級のプログラミング学習系YouTubeチャンネル「キノコード」が提供しているから、未経験者にもわかりやすく質の高い学習体験を実感していただけます。

キノクエスト