⊗tsSpOpSPO 15 of 37 menu

Propriétés statiques en TypeScript

Voyons comment accéder aux propriétés statiques à l'intérieur des objets.

Supposons que nous ayons la classe suivante avec une propriété statique :

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

Créons maintenant une méthode affichant le salaire général :

class User { public name: string; public static salary: number = 1000; constructor(name: string) { this.name = name; } getSalary(): number { return User.salary; // on accède par le nom de la classe } }

Créons maintenant une méthode modifiant le salaire général :

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; } }

Les propriétés statiques seront communes aux différents objets. Cela signifie que lors du changement de la propriété dans un objet, elle changera également dans l'autre. Vérifions cela.

Créeons deux objets de notre classe :

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

Modifions le salaire pour le premier utilisateur :

user1.setSalary(2000);

Vérifions que le salaire a changé également pour le deuxième utilisateur :

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

Vérifions que le salaire a également changé dans la propriété de la classe elle-même :

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

Dans la classe Student ajoutez une propriété statique university. Affichez cette propriété sans déclarer d'objet.

Français
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nous utilisons des cookies pour le fonctionnement du site, l'analyse et la personnalisation. Le traitement des données est effectué conformément à la Politique de confidentialité.
accepter tout personnaliser refuser