⊗tsSpOpSPO 15 of 37 menu

Statické vlastnosti v TypeScriptu

Podívejme se, jak přistupovat k statickým vlastnostem uvnitř objektů.

Předpokládejme, že máme následující třídu se statickou vlastností:

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

Nyní vytvořme metodu, která zobrazí celkový plat:

class User { public name: string; public static salary: number = 1000; constructor(name: string) { this.name = name; } getSalary(): number { return User.salary; // přistupujeme přes jméno třídy } }

Nyní vytvořme metodu, která změní celkový plat:

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

Statické vlastnosti budou společné pro různé objekty. To znamená, že při změně vlastnosti v jednom objektu se změní i v druhém. Ověřme si to.

Vytvořme dva objekty naší třídy:

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

Změňme plat pro prvního uživatele:

user1.setSalary(2000);

Zkontrolujme, zda se plat změnil i pro druhého uživatele:

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

Zkontrolujme, zda se plat také změnil ve vlastnosti samotné třídy:

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

Do třídy Student přidejte statickou vlastnost university. Vypište tuto vlastnost bez deklarace objektu.

Čeština
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяDanskDeutschΕλληνικά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
Používáme soubory cookie pro fungování webu, analýzu a personalizaci. Zpracování údajů probíhá v souladu s Zásadami ochrany osobních údajů.
přijmout vše přizpůsobit odmítnout