0 Tage Serie
javascript / intermediate
Snippet

Datenkapselung mit privaten Klassenfeldern

Private Klassenfelder (mit dem #-Präfix) stellen sicher, dass sensible Daten oder interne Methoden nicht von außerhalb der Klasse 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 ApiClient {
#apiKey;
constructor(key) {
this.#apiKey = key;
}
#logRequest(endpoint) {
console.log(`Requesting ${endpoint}`);
}
async fetch(endpoint) {
this.#logRequest(endpoint);
return fetch(endpoint, { headers: { Authorization: this.#apiKey } });
}
}
nextjs
Erklärung
1
#apiKey;
Deklariert eine private Eigenschaft, auf die außerhalb des Klassenumfangs nicht zugegriffen werden kann.
2
#logRequest(endpoint) {
Definiert eine private Methode, die nur für den internen Gebrauch der Klasse bestimmt ist.