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
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.