Atrapando bugs
Clase 4 de 24 • Curso de TypeScript
Contenido del curso
Tipos de datos primitivos
Tipos de datos especiales
- 13

Any
10:17 min - 14

Union Types
08:10 min - 15

Alias y tipos literales
08:55 min - 16

Null y Undefined
11:59 min - 17

Funciones
10:34 min - 18

Retorno de funciones
08:34 min - 19

Objetos en funciones
09:24 min - 20

Objetos como tipos
05:20 min - 21

Módulos: import y export
12:11 min - 22

Usando librerías que soportan TypeScript
06:45 min - 23

Usando librerías que NO soportan TypeScript
08:28 min
Próximos pasos
El análisis de código estático nos ayudará a detectar fallas en nuestro programa durante su desarrollo.
En la carpeta src del proyecto de curso, vamos a crear un archivo JavaScript llamado demo.js. El código base es el siguiente:
(()=> {
const myCart = [];
const products = [];
const limit = 2;
async function getProducts() {
const rta = await fetch('http://api.escuelajs.co/api/v1/products', {
mehtod: 'GET'
});
const data = await rta.parseJson();
products.concat(data);
}
function getTotal() {
const total = 0;
for (const i = 0; i < products.length(); i++) {
total += products[i].prize;
}
return total;
}
function addProduct(index) {
if (getTotal <= limit) {
myCart.push(products[index]);
}
}
await getProducts();
addProducto(1);
addProducto(2);
const total = getTotal();
console.log(total);
const person = {
name: 'Nicolas',
lastName: 'Molina'
}
const rta = person + limit;
console.log(rta);
});
Al analizarlo nos damos cuenta de que tiene unos errores que podrían pasar desapercibidos al no ver advertencias. Es hasta que lo ejecutamos en un navegador web o entornos como NodeJS que los bugs saldrán a relucir. Por lo que, nosotros como desarrolladores, esto no es conveniente, pues queremos feedback lo más pronto posible.
Activando poderes de TypeScript en JavaScript 🧐
Si estás en Visual Studio Code, puedes activar el analizador de código estático de TypeScript sobre un archivo JavaScript. Para esto, en la primera línea del archivo debe ir lo siguiente:
//@ts-check
Contribución creada por: Martín Álvarez.