En TypeScript, una interfaz (Interfaz) es una convención utilizada para definir la estructura de un objeto, que describe las propiedades y métodos que debe tener el objeto. Las interfaces proporcionan una restricción de definición que le permite especificar explícitamente la forma y el tipo de un objeto al escribir código. Las interfaces se utilizan a menudo en el desarrollo para definir la estructura de los objetos, la implementación de las clases y los parámetros y valores de retorno de las funciones.
Aquí hay un ejemplo simple que muestra cómo usar interfaces para definir la estructura de un objeto:
interface Person {
// 不能多属性,也不能少属性
firstName: string;
lastName: string;
// age: number;
}
// 也可以写多个重名,属性相加
interface Person {
// 不能多属性,也不能少属性
age: number;
}
const person: Person = {
firstName: 'John',
lastName: 'Doe',
age: 30
};
En el ejemplo anterior, definimos una Person
interfaz llamada que contiene las firstName
propiedades lastName
y age
. Luego, creamos un person
objeto que se ajuste a la estructura de esta interfaz.
Otros usos, ejemplos son los siguientes:
interface xxx extends x {
name: string,
// readonly 修饰为只读,不可修改
readonly id:number,
// 索引签名,随便定义下面属性,它的值代表interface里面所有值,所以一般为 any
[propName: string]: any
}
// extends 用于接口继承
interface x {
xx:string
}
let a:xxx = {
name: 'xxx',
id: 1,
age: 18,
sex: '男',
xx: 'xxx'
}
// 定义函数类型
interface Fn {
(a: number): number[]
}
const fn: Fn = (a) => {
return [1, 2, 3]
}