Noções básicas sobre avaliadores em TypeScript
Um Valuator é um objeto que pode ser usado para avaliar o valor de uma propriedade ou de um conjunto de propriedades. Em outras palavras, é um objeto que sabe calcular o valor de algo.
No TypeScript, um Valuator é usado para determinar o tipo de uma propriedade ou um conjunto de propriedades. É usado em conjunto com a palavra-chave `type` para especificar o tipo de uma propriedade ou um conjunto de propriedades.
Aqui está um exemplo:
```
interface Pessoa {
nome: string;
idade: número;
}
class Funcionário estende Pessoa {
salário: número;
}
função getEmployee(funcionário: Funcionário): Funcionário {
retornar funcionário; // retorna uma instância de Employee
}
let person: Person = { name: "John", age: 30 };
let Employee: Employee = getEmployee(person);
console.log(employee.salary); // imprime 0
```
Neste exemplo, a interface `Person` tem duas propriedades: `name` e `age`. A classe `Employee` estende a interface `Person` e adiciona uma nova propriedade chamada `salary`. A função `getEmployee` pega uma instância de `Employee` como argumento e retorna uma instância de `Employee`.
A palavra-chave `valuator` é usada para especificar o tipo da propriedade `salary` na classe `Employee`. Neste caso, o tipo da propriedade `salary` é `number`.
Sem a palavra-chave `valuator`, o tipo da propriedade `salary` seria inferido como `any`, o que significa que pode ser qualquer tipo de valor. Usando a palavra-chave `valuator`, podemos especificar explicitamente o tipo da propriedade e garantir que seja sempre um número.
Em resumo, um Valuator é um objeto que sabe como calcular o tipo de uma propriedade ou um conjunto de propriedades. É usado em conjunto com a palavra-chave `type` para especificar o tipo de uma propriedade ou um conjunto de propriedades no TypeScript.