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:
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:
habas formas aplican también en TS solo se llaman diferente.
const age = 20; //inferida
const age: number = 20; // explicita
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.
verdad que si, se parece bastante 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;
array, objects, functions no son primitivos. Ademas falta BigInt alli.
se me parece a C++ o a Java en donde se define el tipo de dato que la variable va a usar
Larga vida a Java! ☕️
Una duda que seguro le surgió a mucho de ustedes.
Con el avance de versiones de JavaScript, será que un futuro JavaScript se convertirá en TypeScript? 🤔
Creo que dificilmente, pues cada vez JS es menos tipado, por otra parte TS, busca todo lo contrario.
jamás
Typescript el lenguaje que los que venian de lenguajes OLD querian hacer en la web xd
Los tipos de variables en TypeScript incluyen:
string: Cadenas de texto.
number: Números, tanto enteros como decimales.
boolean: Valores de verdadero o falso.
null: Representa la ausencia de un valor.
undefined: Una variable que no ha sido asignada.
any: Permite cualquier tipo de valor.
void: Indica que no se devuelve ningún valor.
never: Representa valores que nunca ocurren.
Estos tipos te permiten escribir código más seguro y mantenible.
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.
El tipado es el contrato de datos de tu código. Define qué forma tiene la información antes de que el programa se ejecute, eliminando la incertidumbre de JavaScript.
Prevención de errores: Detecta inconsistencias en tiempo de desarrollo, no en producción.
Documentación viva: El código explica por sí mismo qué espera recibir y qué debe devolver.
Autocompletado preciso: Facilita el trabajo al editor al conocer la estructura exacta de tus variables.
¿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:
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:
En TypeScript, el mismo concepto se aplica, pero con una anotación de tipo:
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:
Tipos personalizados: Se pueden definir interfaces y tipos complejos para estructurar mejor los datos.
Los tipos que maneja JavaScript:
null
string
number
boolean
undefined
array
Symbol
objs
functions
constmiVariable: tipo = valor;
El tipado es el superpoder de TypeScript. Transforma JavaScript de un lenguaje "espera a que falle" a un lenguaje "previene que falle". Una vez que entiendas el tipado, habrás entendido el 80% de TypeScript.
Cuanto más específico sean tus tipos, más seguro será tu código.
Tipado en TypeScript│
├── Concepto:Especificar qué tipo de dato contiene cada variable
│
├── JavaScript:Tipadodinámico(flexible, propenso a errores)│
├── TypeScript:Tipadoestático(seguro, detecta errores)│
├── Sintaxis: variable: tipo = valor
│
├── Tipos primitivos:│ ├─ string:"texto"│ ├─ number:42,3.14│ ├─ boolean:true/false│ └─ any: cualquier cosa(¡evitar!)│
├── Tipos complejos:│ ├─ Arrays: number[], string[]│ ├─ Tuplas:[string, number]│ ├─ Uniones: number | string
│ └─ Enums:Color{Red,Green,Blue}│
├── Tipos personalizados:│ ├─ Interfaces:interfaceUsuario{...}│ └─ Type alias: type Usuario={...}│
└── Beneficios: ├─ Detección temprana de errores
├─ Autocompletado mejorado
├─ Documentación implícita
└─ Refactorización segura
Yo que comence en la programacion estudiando con Java, me puso triste que no se pudiese programar en web con este lenguaje. Gracias Type por de volverme el gusto
Una pregunta, toda variable se debe tipar en TS? o solo las que nosotros elijamos?
Recuerda que ts al final es js, entonces tu puedes elegir si tiparla, no es obligatorio, pero si es una mejor manera de evitar errores.
Si estás usando TS es para tener ese super poder de tipar. Reducir bugs. etc, etc. Siempre tipa.
Si sientes la necesidad de usar any. Mejor usa unknown
Acá te dejo un poco más de info a cerca de eso:
Deja de Usar Any como tipo de dato en TS
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.