⊗tsSpOpSPO 15 of 37 menu

Statyczne właściwości w TypeScript

Przyjrzyjmy się, jak odwoływać się do statycznych właściwości wewnątrz obiektów.

Załóżmy, że mamy następującą klasę ze statyczną właściwością:

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

Stwórzmy teraz metodę wyświetlającą ogólne wynagrodzenie:

class User { public name: string; public static salary: number = 1000; constructor(name: string) { this.name = name; } getSalary(): number { return User.salary; // odwołujemy się przez nazwę klasy } }

Stwórzmy teraz metodę zmieniającą ogólne wynagrodzenie:

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

Statyczne właściwości będą wspólne dla różnych obiektów. Oznacza to, że przy zmianie właściwości w jednym obiekcie, zmieni się ona również w drugim. Sprawdźmy to.

Stwórzmy dwa obiekty naszej klasy:

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

Zmieńmy wynagrodzenie dla pierwszego użytkownika:

user1.setSalary(2000);

Sprawdźmy, czy wynagrodzenie zmieniło się również dla drugiego użytkownika:

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

Sprawdźmy, czy wynagrodzenie zmieniło się również w właściwości samej klasy:

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

Do klasy Student dodaj statyczną właściwość university. Wyświetl tę właściwość bez deklarowania obiektu.

Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć