Métodos de Acesso get e set - TypeScript
No padrão JavaScript ECMAScript 5, foi introduzida a ideia de métodos de acesso: para acessar uma propriedade, define-se um par de métodos, get
set
get
set
get
set
Por exemplo, temos a seguinte classe:
class Person {
name: string;
age: number;
}
let tom = new Person();
tom.name = "Tom";
tom.age = -1243;
console.log(tom.age);
Aqui, ao campo age
O uso de acessores ou métodos de acesso permite controlar como o valor é definido e como é retornado. Em particular, podemos reescrever a classe anterior usando acessores da seguinte forma:
class Person {
name: string;
private _age: number;
public get age(): number {
return this._age;
}
public set age(n: number) {
if (n < 0 || n > 110) {
console.log("Invalid age!");
} else {
this._age = n;
}
}
}
let tom = new Person();
tom.name = "Tom";
tom.age = 36;
console.log(tom.age); // 36
tom.age = -1243; // Invalid age!
console.log(tom.age); // 36
Os métodos de acesso são definidos como métodos comuns, com a diferença de que as palavras-chave get
set
set
get
Nesse caso, tornamos a variável _age
get
public get age(): number {
return this._age;
}
E o método set
_age
Quando atribuímos um valor tom.age = 36;
set
Quando obtemos o valor console.log(tom.age);
get