No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Curso de TypeScript

Curso de TypeScript

Nicolas Molina

Nicolas Molina

Qué es el tipado en TypeScript

7/24
Recursos

El tipado en TypeScript hace referencia a cómo declaramos una variable, necesitamos asignar el tipo de dato, conocido como type annotation, con esto evitamos mezclar distintos tipos de datos.

La flexibilidad de JavaScript

Nosotros podemos declarar una variable de un tipo de valor y a lo largo del código ir cambiándolo si lo deseamos. Por lo que en un momento puede ser de tipo string y después de tipo boolean:
Tipado en JavaScript

Para proyectos de sofware que tienen una gran escalabilidad, esto podría ser fuente de fallas en el programa.

Controlando la flexibilidad

Gracias a TypeScript podemos manejar el tipado de las variables para evitar anomalías en el código.

En JavaScript, para declarar una variable constante lo realizamos así:

const productPrice = 12;

En TypeScript, para el caso anterior, es similar solo que añadimos : y el tipo de dato de la variable, la cual sería number. A esto último se le llama type annotation o anotación de tipo:

const productPrice: number = 12;

Aportes 17

Preguntas 2

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Código en JS

const age = 20;

Código en TS

const age: number = 20;

El tipado es una característica muy interesante que nos ayuda a mitigar riesgos, como bien explicó el profe durante la clase, en javascript podemos reasignar tipos de valores a lo largo del código, esto es un riesgo que puede provocar errores en tiempo de ejecución si no tenemos cuidado de cómo estamos manejando los datos durante la ejecución del código.

Con el tipado, mitigamos el error fozando al analizador de código a que observe esas variables y se asegure de que no estamos modificando su tipo a lo largo del código o por ejemplo si declaramos “const” nos saltará error al querer modificar su valor (no tanto su tipo).

De este modo debemos de escribir mejor código o typescript nos avisará cuando hagamos algo que en tiempo de ejecución puede fallar, PEEEEEEEEEEERO nos avisará en tiempo de codificación, capturando así muchos bugs de tipado que de otro modo se irían a producción.

📌 Tipado y Tipos de Datos:

El tipado en TS hace referencia a cómo declaramos una variable, necesitamos asignar el tipo de dato, con esto evitamos mezclar distintos tipos de datos.

En JS podemos declarar una variable de un tipo de valor y a lo largo del código ir cambiándolo si lo deseamos. Pero para proyectos de software que tienen gran escalabilidad, esto puede ser fuente de fallas en el programa

⭐ Gracias a TypeScript podemos manejar el tipado de las variables para evitar anomalías en el código

Dentro de TS podemos definir variables de manera explicita o inferida.

Explicito > Define el tipo de dato para la creación de variables.

let age: number = 22

Inferido > TS tiene la habilidad de deducir el tipo en dato de un valor

nombre = 'Juan';

el tipado de TS me recuerda mucho a GO.

JS tiene tipos de datos primitivos, como:

  • null
  • string
  • number
  • boolean
  • undefined
  • array
  • Symbol
  • objs
  • functions

TS ya incluye todo lo que JS maneja.

Nueva sintaxís en TS:

const productPrice: number = 12;
se me parece a C++ o a Java en donde se define el tipo de dato que la variable va a usar
Vengo de programar en C, el tipado es cosa de familia jajaj

Manual de TypeScript

En el siguiente enlace podrán conseguir el manual de TypeScript, una forma de reforzar los conocimientos adquiridos en estas clases.

javascript fué pensado para escribir scripts en una página. Todo el codigo que era mínimo en una solo archivo. No se tuvo pensado la modularidad que luego se implementó. En sus inicios la flexibilidad en un solo archivo no daba mayores problemas pero en los proyectos actuales javascript centric con muchos archivos javascript interactuando ayuda el sistema de tipado explicito de typescript para evitar errores inesperados por cambio de tipado.

Los tipos que maneja JavaScript: * null * string * number * boolean * undefined * array * Symbol * objs * functions
const miVariable: tipo = valor;
Typescript el lenguaje que los que venian de lenguajes OLD querian hacer en la web xd
**¿Qué es el Tipado en TypeScript?** El tipado en TypeScript se refiere a la forma en que se definen y declaran los tipos de datos en las variables. Este lenguaje, un superconjunto de JavaScript, introduce la noción de anotaciones de tipo (type annotations), que permiten a los desarrolladores especificar explícitamente qué tipo de dato se puede almacenar en una variable. Esto no solo ayuda a evitar errores en tiempo de ejecución, sino que también mejora la legibilidad y mantenibilidad del código. \- **La Flexibilidad de JavaScript** JavaScript es un lenguaje de tipado dinámico, lo que significa que las variables pueden cambiar de tipo durante la ejecución. Esta flexibilidad permite gran libertad al programador, pero también puede ser una fuente de errores, especialmente en aplicaciones de gran envergadura. Por ejemplo, un mismo identificador puede ser asignado a diferentes tipos de valores en diferentes partes del código: ![](https://static.platzi.com/media/user_upload/image-a2240397-e51d-4d40-94fd-ef0df2191735.jpg) Aunque esta flexibilidad puede facilitar ciertas tareas durante el desarrollo, puede resultar en fallas difíciles de depurar a medida que el proyecto crece y se vuelve más complejo. \- **Controlando la Flexibilidad con TypeScript** TypeScript aborda esta problemática mediante el uso de tipado estático, que permite especificar los tipos de datos de las variables en el momento de la declaración. Esto significa que una vez que se asigna un tipo a una variable, no se puede cambiar a otro tipo incompatible sin generar un error de compilación. Por ejemplo, en JavaScript, declarar una variable constante se hace de la siguiente manera: ![](https://static.platzi.com/media/user_upload/image-78370b39-412c-445c-a089-3c9193550d04.jpg) En TypeScript, el mismo concepto se aplica, pero con una anotación de tipo: ![](https://static.platzi.com/media/user_upload/image-d82aea4a-c5db-48ba-b195-309608ab0d17.jpg) En este caso, `: number` indica que productPrice solo puede contener valores de tipo number. Si intentamos asignarle un tipo diferente, como un string o un boolean, TypeScript generará un error en tiempo de compilación, lo que permite detectar problemas antes de que el código se ejecute. \- Beneficios del Tipado en TypeScript * Detección Temprana de Errores: La anotación de tipos permite detectar errores en tiempo de compilación, antes de ejecutar el código. Esto es especialmente útil en proyectos grandes, donde los errores pueden ser más difíciles de identificar. * Mejora de la Documentación: Las anotaciones de tipo actúan como una forma de documentación dentro del código. Facilitan la comprensión de qué tipo de datos se espera en una función o variable, mejorando la colaboración en equipos. * Herramientas de Desarrollo Mejoradas: El soporte para el tipado en TypeScript mejora la experiencia del desarrollador mediante autocompletado, navegación y refactorización en editores de código como Visual Studio Code. * Mantenimiento Simplificado: Con un tipado claro y consistente, los cambios y refactorizaciones en el código son menos propensos a introducir errores, lo que facilita el mantenimiento a largo plazo. \- Tipos Avanzados en TypeScript TypeScript no solo permite tipos primitivos como string, number y boolean, sino que también admite tipos más complejos, como: * Arrays: const numbers: number\[] = \[1, 2, 3]; * Tuplas: const tuple: \[string, number] = \['Nicolas', 30]; * Enums: enum Color { Red, Green, Blue }; * Tipos personalizados: Se pueden definir interfaces y tipos complejos para estructurar mejor los datos.
cabe resaltar que tambien existe el tipo de dato BigInt, este es un primitivo que representa numeros muy grandes, superiores a 2^43, a partir de ahi se les considera BigInt y se les identifica por la n al final del numero y por el contructor BigInt o la funcion BigInt.

El “tipado” en TypeScript se refiere a la habilidad de especificar y verificar en tiempo de compilación qué tipo de dato puede contener una variable, parámetro o valor de retorno de una función.

/*
  **productPrice** --> Declaration
	**: number** --> Tipado / Type annotation
	**12** --> Valor
*/

const productPrice: number = 12;

JavaScript tiene tipado dinámico, no necesitas especificar el tipo de una variable cuando la declaras; el tipo de la variable puede cambiar en tiempo de ejecución según el valor que se le asigne. El tipado dinámico puede ser conveniente porque provee flexibilidad, sin embargo puede llevar a errores.

let dato = 42;  // number
dato = "Hola";  // string
dato = true;    // boolean
dato = {}       // object

Si declaramos una variable con un tipo específico y, en algún punto de la ejecución del programa cambia a un tipo diferente, puede llevar a comportamientos no deseados o errores.

El tipado estático ayuda a prevenir errores al detectar problemas relacionados con tipos de datos en tiempo de compilación en lugar de ejecución.

La única ves que utilice tipado fuerte fue con C++ hace años…

También podemos probar los ejemplos desde el Playground de TS donde tenemos el TS Config, otros ejemplos y el resultado en JS al instante.