Libro de clase {Observe la sintaxis que estamos utilizando para invocar al captador y al configurador, como si no fueran siquiera funciones. Los captadores y los definidores son importantes porque ocultan los detalles de la implementación interna.
constructor (autor) {
this._author = autor;
}
// getter
obtener escritor () {
devuelve esto.
}
// setter
establecer escritor (updatedAuthor) {
this._author = updatedAuthor;
}
}
const lol = libro nuevo ('anónimo');
console.log (lol.writer); // anónimo
lol.writer = 'wut';
console.log (lol.writer); // wut
class palabra clave de class para crear una clase de termostato. El constructor acepta la temperatura Fahrenheit. Ahora cree el getter y el setter en la clase, para obtener la temperatura en la escala Celsius. Recuerde que C = 5/9 * (F - 32) y F = C * 9.0 / 5 + 32 , donde F es el valor de la temperatura en la escala Fahrenheit, y C es el valor de la misma temperatura en la escala Celsius Nota Cuando implementa esto, estarías siguiendo la temperatura dentro de la clase en una escala, ya sea Fahrenheit o Celsius. Este es el poder de getter o setter: está creando una API para otro usuario, que obtendría el resultado correcto, sin importar de cuál sea el seguimiento. En otras palabras, está abstrayendo los detalles de implementación del consumidor. Thermostat debe ser una class con un método constructor definido.
testString: 'assert(typeof Thermostat === "function" && typeof Thermostat.constructor === "function","Thermostat should be a class with a defined constructor method.");'
- text: Se usó la palabra clave de class .
testString: 'getUserInput => assert(getUserInput("index").match(/class/g),"class keyword was used.");'
- text: Thermostat puede ser instanciado.
testString: 'assert(() => {const t = new Thermostat(32); return typeof t === "object" && t.temperature === 0;}, "Thermostat can be instantiated.");'
```