TypeScript တွင် Static Properties များ
Object များအတွင်း static properties များကို မည်သို့ရည်ညွှန်းရမည်ကို ကြည့်ရအောင်။
Static property တစ်ခုပါသော class အောက်ပါအတိုင်းရှိသည်ဆိုပါစို့။
class User {
public name: string;
public static salary: number = 1000;
constructor(name: string) {
this.name = name;
}
}
ယခု စုစုပေါင်းလစာကို ပြသသည့် method တစ်ခုပြုလုပ်ကြည့်ပါမည်။
class User {
public name: string;
public static salary: number = 1000;
constructor(name: string) {
this.name = name;
}
getSalary(): number {
return User.salary; // class ၏အမည်ဖြင့် ရည်ညွှန်းသည်
}
}
ယခု စုစုပေါင်းလစာကို ပြောင်းလဲသည့် method တစ်ခုပြုလုပ်ကြည့်ပါမည်။
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;
}
}
Static properties များသည် object အမျိုးမျိုးအတွက် အများဆိုင်ဖြစ်သည်။ ဆိုလိုသည်မှာ object တစ်ခုတွင်ရှိသော property ကိုပြောင်းလဲလိုက်လျှင် အခြား object တွင်လည်း ပြောင်းလဲသွားမည်ဖြစ်သည်။ ဤအချက်ကို စစ်ဆေးကြည့်ကြပါစို့။
ကျွန်ုပ်တို့၏ class မှ object နှစ်ခုကိုဖန်တီးကြမည်။
let user1: User = new User('john');
let user2: User = new User('eric');
ပထမ user အတွက် လစာကိုပြောင်းလဲလိုက်ကြပါစို့။
user1.setSalary(2000);
ဒုတိယ user အတွက်လည်း လစာပြောင်းလဲသွားခြင်း ရှိ/မရှိ စစ်ဆေးကြည့်ပါမည်။
console.log(user2.getSalary()); // 2000
Class ကိုယ်တိုင်ရှိ property တွင်လည်း လစာပြောင်းလဲသွားခြင်း ရှိ/မရှိ စစ်ဆေးကြည့်ပါမည်။
console.log(User.salary); // 2000
Student class ထဲသို့ static property university ကိုထည့်ပါ။
Object ကိုကြေညာခြင်းမရှိဘဲ ဤ property ကိုထုတ်ပြပါ။