As interfaces são uma parte fundamental do TypeScript e são usadas para definir a estrutura dos objetos ou classes.
interface Person {
name: string;
age: number;
}
- Define uma interface chamada
Person
com propriedadesname
eage
.
const user: Person = { name: "Alice", age: 30 };
- Objetos podem implementar interfaces, seguindo sua estrutura.
interface Config {
apiKey: string;
logLevel?: number;
}
- Use
?
para tornar propriedades opcionais.
interface Point {
readonly x: number;
readonly y: number;
}
- Use
readonly
para criar propriedades que não podem ser modificadas após a inicialização.
interface Employee extends Person {
employeeId: number;
}
- Uma interface pode herdar de outra usando a palavra-chave
extends
.
interface Calculator {
add(a: number, b: number): number;
}
- Interfaces podem definir a estrutura de funções.
interface Dictionary {
[key: string]: string;
}
- Crie interfaces que representam objetos com chaves dinâmicas.
class Student implements Person {
constructor(public name: string, public age: number) {}
}
- Classes podem implementar interfaces para garantir que cumpram um contrato.