Accessor dalam OOP di TypeScript
Sama seperti dalam JavaScript murni, di TypeScript kita dapat membuat accessor properti: getter dan setter.
Namun, dalam TypeScript, nama accessor tidak
boleh sama dengan nama properti. Mari kita lihat
secara praktik. Mari buat accessor untuk
properti privat name. Jika nama untuk
accessor juga diberikan name, maka kode
seperti ini akan menghasilkan error:
class User {
private name: string = '';
public set name(name: string) { // akan menghasilkan error
this.name = name;
}
public get name(): string {
return this.name;
}
}
Mari perbaiki masalahnya, misalnya dengan mengubah nama properti privat:
class User {
private _name: string = '';
public set name(name: string) {
this._name = name;
}
public get name(): string {
return this._name;
}
}
Buatlah kelas User yang berisi
properti privat untuk nama dan usia.
Buatlah accessor untuk properti-properti tersebut.
Modifikasi setter usia sehingga
usia hanya dapat diatur dari 0 hingga
120. Jika nilai lain yang ditentukan,
maka harus dilemparkan pengecualian.