0 Tage Serie
javascript / intermediate
Snippet

Datenkapselung mit privaten Klassenfeldern

Private Klassenfelder (gekennzeichnet mit #) stellen sicher, dass sensible Daten oder interne Hilfsmethoden nicht von außerhalb der Klasseninstanz aufgerufen oder geändert werden können.

snippet.js
javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class ApiService {
#apiKey;
constructor(key) {
this.#apiKey = key;
}
#buildHeaders() {
return { 'Authorization': `Bearer ${this.#apiKey}` };
}
async fetchData(url) {
const headers = this.#buildHeaders();
return fetch(url, { headers });
}
}
nodejs
Erklärung
1
#apiKey;
Deklariert ein privates Feld, auf das nicht über die Eigenschaftssuche der Instanz zugegriffen werden kann.
2
#buildHeaders()
Definiert eine private Methode, die nur von anderen Methoden derselben Klasse aufgerufen werden kann.