Tipos de datos en TypeScript: la referencia completa

Tipos de datos en TypeScript

Tipos de datos en TypeScript: todos en una tabla con buscador | We.Inc

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.

Preguntas frecuentes

¿Cuántos tipos primitivos tiene TypeScript?

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.

¿Qué diferencia hay entre any y unknown?

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.

¿Para qué sirve el tipo never?

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.

¿void es lo mismo que undefined?

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.

¿Qué diferencia hay entre object, Object y {}?

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.

Primitivos: lo que indica typeof

Los tipos especiales marcan los extremos

Combinar tipos

De unknown a un tipo utilizable

Acota una entrada no confiable paso a paso

Cada comprobación elimina posibilidades. Dentro de la última rama el compilador sabe que value es un string.

never como comprobación de exhaustividad

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.

Array

string[] y Array<string> significan lo mismo.

Array de solo lectura

Equivale a ReadonlyArray<number>. Se eliminan push y los demás métodos que mutan.

Tupla

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.

Tipo de objeto

Describe las propiedades en línea. Ponle nombre con type o interface para reutilizarlo.

Tipo de función

Tipos de parámetros y de retorno. Prefiérelo al tipo genérico Function.

Tipo literal

Valores exactos en lugar del primitivo completo.

Unión

Uno de varios tipos. Acota con typeof, in o un campo compartido antes de usar sus miembros.

Intersección

Todos los tipos a la vez. Se usa sobre todo para fusionar tipos de objeto.

Primitivos

Especiales

Estructuras

Combinaciones

Referencia de tipos con buscador

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

Relacionado: Guías

Producto

Para quién es

Funciones

Recursos

Empresa

Mapa del sitio