string, number, boolean, bigint, symbol, null, undefined, any, unknown, never, void, object, arrays, tuplas, enums, tipos literales y uniones, con un ejemplo de cada uno.
Los tipos de datos básicos de TypeScript son los siete primitivos de JavaScript, string, number, bigint, boolean, symbol, null y undefined, escritos en minúsculas. Sobre ellos añade tipos especiales (any, unknown, never, void, object), estructuras como arrays, tuplas y enums, y formas de combinar tipos: tipos literales, uniones e intersecciones.
Los cuatro grupos
Busca en la referencia por nombre o fíltrala por grupo. Cada fila tiene un ejemplo de una línea que puedes pegar en un archivo .ts, y la columna de notas señala el comportamiento que confunde a la gente, como la diferencia entre void y undefined o por qué unknown es más seguro que any.
Siete, los mismos que JavaScript: string, number, bigint, boolean, symbol, null y undefined. number cubre tanto enteros como decimales; no existe un tipo int o float aparte.
Ambos aceptan cualquier valor. any te deja hacer cualquier cosa con él, así que los errores pasan sin avisar. unknown no te deja hacer nada hasta que lo acotas con una comprobación como typeof, lo que lo convierte en la opción segura para datos no confiables.
never describe valores que no pueden darse: el tipo de retorno de una función que siempre lanza un error, y lo que queda de una unión después de tratar todos sus miembros. Ese segundo uso hace posibles las comprobaciones de exhaustividad.
No. void es el tipo de retorno de una función cuyo valor devuelto debe ignorarse. A una función tipada como que devuelve void se le puede pasar un callback que devuelva algo, mientras que undefined significa que el valor es realmente undefined.
object significa cualquier valor no primitivo, como objetos, arrays y funciones. {} significa cualquier valor excepto null y undefined, primitivos incluidos. El tipo global Object rara vez es útil; prefiere object o un tipo de objeto concreto.
Cada comprobación elimina posibilidades. Dentro de la última rama el compilador sabe que value es un string.
Si un nuevo estado se une a la unión, la asignación a never deja de compilar hasta que se añada un case para él.
Texto de cualquier longitud. Las plantillas literales también son strings.
Enteros y decimales por igual, incluidos NaN e Infinity.
Números enteros más allá del rango de enteros seguros. El sufijo n necesita un objetivo ES2020.
Solo true o false.
Cada invocación de Symbol() crea un valor único.
Con strictNullChecks activado, null debe figurar en el tipo para estar permitido.
El valor de una variable declarada pero sin asignar y de una propiedad opcional ausente.
Desactiva la comprobación para el valor. noImplicitAny señala los sitios donde se cuela sin avisar.
Admite cualquier valor pero no permite nada hasta que lo acotas.
Ningún valor tiene nunca este tipo: funciones que siempre lanzan errores y uniones a las que no les queda nada.
Un valor de retorno que debe ignorarse. No es lo mismo que undefined.
Cualquier no primitivo: objetos, arrays y funciones.
string[] y Array<string> significan lo mismo.
Equivale a ReadonlyArray<number>. Se eliminan push y los demás métodos que mutan.
Longitud fija con un tipo por posición. Los elementos opcionales van al final: [number, number?].
Genera un objeto real en tiempo de ejecución, a diferencia de casi toda la sintaxis de TypeScript.
Describe las propiedades en línea. Ponle nombre con type o interface para reutilizarlo.
Tipos de parámetros y de retorno. Prefiérelo al tipo genérico Function.
Valores exactos en lugar del primitivo completo.
Uno de varios tipos. Acota con typeof, in o un campo compartido antes de usar sus miembros.
Todos los tipos a la vez. Se usa sobre todo para fusionar tipos de objeto.
Primitivos
Especiales
Estructuras
Combinaciones
Buscar tipos
unknown, tupla, null...
Filtrar por grupo
Todos
Mostrando {n} de {v} tipos
Ningún tipo coincide con esa búsqueda.
Tipos de TypeScript con ejemplos
Tipo
Grupo
Ejemplo
Nota
Empieza gratis · Sin tarjeta de crédito