【javascript】コンストラクタ関数でプライベート変数を定義する方法

Class内でしか参照できない変数や関数をプライベート変数・関数(private var func)と呼びます。

プライベートな関数・変数は、Classをインスタンス化したあとに外部から変更・参照されないため、安全にプログラムを書くために必須の機能です。

今回は、Classが使えない環境でよく使われるjsのコンストラクタ関数でプライベートな関数や変数を定義する方法をご紹介いたします。

コンストラクタ関数でプライベートな変数・関数を使う

こちらのソースのように、コンストラクタ関数でprivateな変数や関数を宣言したい場合、【this】を使わずに、関数内でletやconstを使うことで実現が可能です。

this.colorやthis.locationといった、this(ここではCarを指す)に生やした変数は、インスタンス化した後に外部から参照・変更が可能ですが、letで宣言されたprivateな関数や変数は外部から参照・変更が不可能です。

コンストラクタ関数内でしか使用しない変数や関数は、let・constで宣言し、インスタンス化された後に参照できないようにすることで、安全にプログラムを拡張していくことが可能になります!

ABOUTこの記事をかいた人

新卒でノマドワーカー(webデザイナー)として独立し、半年で月収100万円を達成する。その後、事務所を売却(バイアウト)したり、Youtuber(最高月間視聴回数109万回、チャンネル登録者1万人)をしたり、Openrecの公式配信者としてゲーム生実況をしたり、ベンチャー企業のCOOをしたり、パラレルキャリアを歩んできました。 2019年にミニマムライフコストを不労所得で稼げるようになったため、いまは、お金のことを考えずに、様々な企業でエンジニア修行をさせていただきながら、複数のメディアやアプリとweb制作事務所を運営しています。 趣味は株式投資(米国・日本株メイン)で、トレードを楽しむ日も多いです!