Melalui objek class kita juga bisa merubah nilai properti semacam ini:
-
- class Car {
-
- constructor(manufacture, color) {
-
- this.manufacture = manufacture;
-
-
- this.color = color;
- this.enginesActive = false;
-
-
- }
-
- }
- const johnCar = new Car(“Honda”, “Red”);
-
- console.log(`Warna mobil: ${johnCar.color}`);
- // output -> Warna Mobil: Red
-
- johnCar.color = “White”;
- // Merubah nilai properti color jadi white
- console.log(`Warna mobil: ${johnCar.color}`);
- // output -> Warna Mobil: White
Dengan class kita juga bisa mengimplementasi getter/setter sebuah properti jadi sebuah method semacam ini:
-
- class Car {
-
- constructor(manufacture, color) {
-
- this.manufacture = manufacture;
-
- this._color = color;
- this.enginesActive = false;
- }
-
- get color() {
-
-
- return `Warna mobile ${this._color}`;
- }
- set color(value) {
-
-
- console.log(`Warna mobil diubah dari ${this._color} jadi ${value}`);
-
-
- this._color = value;
- }
-
-
- }
-
- const johnCar = new Car(“Honda”, “Red”);
- console.log(johnCar.color);
- // output -> Warna Mobil: Red
-
- johnCar.color = “White”;
- // Merubah nilai properti color jadi white
- console.log(johnCar.color);
- // output -> Warna Mobil: White
Teliti juga saat kita menerapkan getter/setter pada properti class. Kita harus merubah atau membedakan penamaan properti aslinya dengan property accessor yang kita buat. Berdasarkan code convention yang ada kita harus merubah properti asli class-nya dengan menambahkan underscore di depan nama propertinya (_color). Tanda underscore berguna sebagai tanda bahwa properti _color tidak disarankan diakses secara langsung, tetapi harus melalui property accessor (getter/setter)