Aksesor dalam OOP dalam TypeScript
Seperti dalam JavaScript tulen, dalam TypeScript kita boleh membuat aksesor sifat: pengambil dan penetap.
Walau bagaimanapun, dalam TypeScript, nama aksesor
tidak boleh sama dengan nama sifat. Mari kita
lihat secara praktikal. Mari buat aksesor
untuk sifat persendirian name. Jika
nama untuk aksesor juga diberikan sebagai name,
maka kod ini akan menghasilkan ralat:
class User {
private name: string = '';
public set name(name: string) { // akan menghasilkan ralat
this.name = name;
}
public get name(): string {
return this.name;
}
}
Mari betulkan masalah tersebut, contohnya dengan menamakan semula sifat persendirian:
class User {
private _name: string = '';
public set name(name: string) {
this._name = name;
}
public get name(): string {
return this._name;
}
}
Buat kelas User yang mengandungi
sifat persendirian dengan nama dan umur.
Buat aksesor untuk sifat-sifat ini.
Ubah suai penetap umur supaya
umur boleh ditetapkan dari 0 hingga
120. Jika nilai lain ditentukan,
pengecualian harus dilontarkan.