⊗tsSpOpSPO 15 of 37 menu

Statische Eigenschaften in TypeScript

Schauen wir uns an, wie man auf statische Eigenschaften innerhalb von Objekten zugreift.

Nehmen wir an, wir haben die folgende Klasse mit einer statischen Eigenschaft:

class User { public name: string; public static salary: number = 1000; constructor(name: string) { this.name = name; } }

Erstellen wir nun eine Methode, die das gesamte Gehalt ausgibt:

class User { public name: string; public static salary: number = 1000; constructor(name: string) { this.name = name; } getSalary(): number { return User.salary; // Zugriff über den Klassennamen } }

Erstellen wir nun eine Methode, die das gesamte Gehalt ändert:

class User { public name: string; public static salary: number = 1000; constructor(name: string) { this.name = name; } getSalary(): number { return User.salary; } setSalary(salary: number) { User.salary = salary; } }

Statische Eigenschaften sind gemeinsame Eigenschaften für verschiedene Objekte. Das bedeutet, dass bei einer Änderung der Eigenschaft in einem Objekt, sie sich auch im anderen ändert. Prüfen wir das.

Erstellen wir zwei Objekte unserer Klasse:

let user1: User = new User('john'); let user2: User = new User('eric');

Ändern wir das Gehalt für den ersten Benutzer:

user1.setSalary(2000);

Prüfen wir, ob sich das Gehalt auch für den zweiten Benutzer geändert hat:

console.log(user2.getSalary()); // 2000

Prüfen wir, ob sich das Gehalt auch in der Eigenschaft der Klasse selbst geändert hat:

console.log(User.salary); // 2000

Fügen Sie der Klasse Student eine statische Eigenschaft university hinzu. Geben Sie diese Eigenschaft ohne Deklaration eines Objekts aus.

Deutsch
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wir verwenden Cookies für den Betrieb der Website, Analyse und Personalisierung. Die Datenverarbeitung erfolgt gemäß der Datenschutzerklärung.
alle akzeptieren anpassen ablehnen