Ստատիկ հատկությունները TypeScript-ում
Եկեք նայենք, թե ինչպես կարելի է դիմել օբյեկտների ներսում գտնվող ստատիկ հատկություններին:
Ենթադրենք, մենք ունենք հետևյալ դասը ստատիկ հատկությամբ.
class User {
public name: string;
public static salary: number = 1000;
constructor(name: string) {
this.name = name;
}
}
Հիմա եկեք ստեղծենք մեթոդ, որը կցուցադրի ընդհանուր աշխատավարձը.
class User {
public name: string;
public static salary: number = 1000;
constructor(name: string) {
this.name = name;
}
getSalary(): number {
return User.salary; // դիմում ենք դասի անունով
}
}
Հիմա եկեք ստեղծենք մեթոդ, որը կփոխի ընդհանուր աշխատավարձը.
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;
}
}
Ստատիկ հատկությունները կլինեն ընդհանուր տարբեր օբյեկտների համար: Սա նշանակում է, որ երբ հատկությունը փոխվում է մի օբյեկտում, այն կփոխվի նաև մյուսում: Եկեք ստուգենք սա:
Ստեղծենք մեր դասի երկու օբյեկտ.
let user1: User = new User('john');
let user2: User = new User('eric');
Եկեք փոխենք առաջին օգտագործողի աշխատավարձը.
user1.setSalary(2000);
Ստուգենք, որ աշխատավարձը փոխվել է նաև երկրորդ օգտագործողի համար.
console.log(user2.getSalary()); // 2000
Ստուգենք, որ աշխատավարձը նաև փոխվել է դասի հենց հատկության մեջ.
console.log(User.salary); // 2000
Student դասին ավելացրեք ստատիկ
հատկություն university: Ցուցադրեք այս
հատկությունը առանց օբյեկտ հայտարարելու: