Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【JavaScript ECMAScript】Private elements言語機能の使い方

Private elements言語機能の使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

Private elementsプロパティは、JavaScriptのクラスにおいて、外部から直接アクセスできないように設計されたプライベートな属性や振る舞いを総称して表すプロパティです。この機能は、クラスの内部実装を外部から隠蔽し、カプセル化を強化することを主な目的としています。具体的には、ハッシュ記号(#)を名前のプレフィックスとして用いることで、クラス内にプライベートなフィールド(データを保持する変数)やプライベートなメソッド(特定の処理を実行する関数)を定義できます。

これらのPrivate elementsは、クラスのインスタンスが持つ内部状態や、その状態を操作するロジックを外部に公開することなく管理するために利用されます。クラスの外部からは、これらのプライベートなメンバーに直接アクセスしたり、値を参照・変更したりすることはできません。これにより、クラスを使用する側のコードが内部の実装に過度に依存することを防ぎ、変更に強い、より堅牢で保守しやすいシステムを構築することが可能になります。Private elementsは、クラスの設計において、どの情報を公開し、どの情報を内部に留めるべきかを明確に区別するための重要な言語機能です。

公式リファレンス: Private elements

構文(syntax)

1class ClassWithPrivate {
2  #privateField;
3
4  constructor(initialValue) {
5    this.#privateField = initialValue;
6  }
7
8  #privateMethod() {
9    return `Private method accessed private field: ${this.#privateField}`;
10  }
11
12  publicMethod() {
13    return this.#privateMethod();
14  }
15}

引数(parameters)

引数なし

引数はありません

戻り値(return)

戻り値なし

戻り値はありません

関連コンテンツ