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のヘビーユーザーになので、「ここ」から会員登録してもらえるとサービス開発が捗ります!

📚 おすすめの書籍