0 Tage Serie
javascript / intermediate
Snippet

Private Klassenfelder und -methoden

Private Klassenfelder (beginnend mit #) stellen sicher, dass interne Daten und Methoden nicht von außen zugänglich sind oder geändert werden können, was eine echte Kapselung ermöglicht.

snippet.js
javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class SecureVault {
#secretKey;
constructor(key) {
this.#secretKey = key;
}
#hashKey() {
return `hash_${this.#secretKey}`;
}
getAccess() {
return this.#hashKey();
}
}
const vault = new SecureVault('12345');
console.log(vault.getAccess()); // Works
// console.log(vault.#secretKey); // SyntaxError
Erklärung
1
#secretKey;
Deklariert ein privates Feld, auf das außerhalb der Klasse nicht zugegriffen werden kann.
2
#hashKey() { ... }
Definiert eine private Methode, die nur von anderen Methoden innerhalb derselben Klasse aufgerufen werden kann.