JavaScript/ES6の基本文法とSingletonパターン


JavaScript ES6の基本的な文法と、Singleton(シングルトン)パターンの実装についてのメモです。

🍮 クラス

'use strict';
class Person {
constructor() {
this.data1 = 1;
}
getData1() {
return this.data1;
}
}

🚜 クラスの継承について

ES6ではクラス構造を継承できるようになりました。

'use strict'
// 継承元クラス
class SuperTest {
constructor() {
this.name = 'Super';
}
sayName() {
return this.name;
}
}
// 継承先クラス
class SubTest extends SuperTest {
// 継承先のconstructorはsuper()が必須
constructor() {
super();
this.name = 'Sub'
}
sayName() { // メソッドの上書き
return super.sayName() + 'のサブクラス';
}
sayHello() { // メソッドの追加
console.log('Hello!!');
}
}
const test1 = new SuperTest;
const test2 = new SubTest;
console.log(test1.sayName()); //=> Super
console.log(test2.sayName()); //=> Superのサブクラス
test2.sayHello(); //=> Hello!!

🤔 シングルトンパターン

userStoreInstanceを処理で使うことでシングルトンとして使えるようにします。

class UserStore {
constructor(){
this._data = [];
}
add(item){
this._data.push(item);
}
get(id){
return this._data.find(d => d.id === id);
}
}
const userStoreInstance = new UserStore();
// 既存のプロパティ属性と値の変更、および新しいプロパティの追加を防止
Object.freeze(instance);
export default userStoreInstance;

😼 参考リンク

🖥 VULTRおすすめ

VULTR」はVPSサーバのサービスです。日本にリージョンがあり、最安は512MBで2.5ドル/月($0.004/時間)で借りることができます。4GBメモリでも月20ドルです。 最近はVULTRのヘビーユーザーになので、「ここ」から会員登録してもらえるとサービス開発が捗ります!

📚 おすすめの書籍