JavaScriptのクラスについて
ES2015(ES6)までは、class構文
なんてものは存在しなかった。
JavaScriptは、プロトタイプベースの言語であり、クラスベースの言語ではないからだ。
しかし、クラスが作れないのは不便だ
ということで、ES2015以降は、クラスも使えるようになった。
これによって、ありがたいことに、クラスベースの言語を習得している人にとって、わかりやすくJavaScriptでも同様にクラスを作成できるようになった。
クラスの作り方
//クラスの定義
class Playlist{
//コンストラクタを作っている
constructor(name){
this.name = name;
this.songs = [];
}
//メソッドを作っている
addSong(song){
this.songs.push(song);
}
//メソッドを作っている
play(){
return this.songs[0]
}
//メソッドを作っている
removeSong(target){
let array = [1, 2, 3, 4, 5];
this.songs = this.songs.filter(function(item) {
return item !== target;
});
}
}
let myPlaylist = new Playlist('お気に入りリスト');//クラスのインスタンスの作成
myPlaylist.addSong('Lemon');//プレイリストに、Lemonを追加
myPlaylist.addSong('花束');//プレイリストに、花束を追加
console.log(myPlaylist.play()); // 再生中: Lemon
myPlaylist.removeSong('Lemon');//プレイリストから、Lemonを削除
console.log(myPlaylist.play()); // 再生中:花束
その他のクラスのテクニック
- 継承
- ゲッターやセッター
- static
- public