はじめに
こんにちは。キノコードです。
「【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が表示されました。