typescript: un lenguaje aburrido para programadores torpes y tristes
TRANSCRIPT
![Page 1: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/1.jpg)
TypeScriptUn lenguaje aburrido para programadores torpes y tristes
by @micael_gallego
MADRID · NOV 18-19 · 2016
![Page 3: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/3.jpg)
MADRID · NOV 18-19 · 2016
Quién soy?
developer
![Page 4: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/4.jpg)
MADRID · NOV 18-19 · 2016
Quién soy?
developer
![Page 5: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/5.jpg)
MADRID · NOV 18-19 · 2016
Quién soy?
developer
![Page 6: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/6.jpg)
MADRID · NOV 18-19 · 2016
Quién soy?
developertorpe
![Page 7: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/7.jpg)
MADRID · NOV 18-19 · 2016
Quién soy?
+developer
torpe
![Page 8: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/8.jpg)
MADRID · NOV 18-19 · 2016
Que he hecho?
![Page 9: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/9.jpg)
MADRID · NOV 18-19 · 2016
Qué he hecho?
![Page 10: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/10.jpg)
MADRID · NOV 18-19 · 2016
Ya me lo dijo Javier Abadía
Programar en Java es como...
![Page 11: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/11.jpg)
MADRID · NOV 18-19 · 2016
Ya me lo dijo Javier Abadía
Programar en Java es como...
![Page 12: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/12.jpg)
MADRID · NOV 18-19 · 2016
Cómo me preparaba para montar en bici...
![Page 13: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/13.jpg)
MADRID · NOV 18-19 · 2016
Un día todo cambió...
![Page 14: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/14.jpg)
MADRID · NOV 18-19 · 2016
… llegó “front”
![Page 15: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/15.jpg)
MADRID · NOV 18-19 · 2016
… llegó “front”
![Page 16: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/16.jpg)
MADRID · NOV 18-19 · 2016
![Page 17: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/17.jpg)
MADRID · NOV 18-19 · 2016
https://www.destroyallsoftware.com/talks/wat
![Page 18: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/18.jpg)
MADRID · NOV 18-19 · 2016
![Page 19: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/19.jpg)
MADRID · NOV 18-19 · 2016
![Page 20: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/20.jpg)
MADRID · NOV 18-19 · 2016
![Page 21: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/21.jpg)
MADRID · NOV 18-19 · 2016
![Page 22: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/22.jpg)
MADRID · NOV 18-19 · 2016
![Page 23: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/23.jpg)
MADRID · NOV 18-19 · 2016
![Page 24: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/24.jpg)
MADRID · NOV 18-19 · 2016
pero no puedo dejar
de pensar en él...
![Page 25: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/25.jpg)
MADRID · NOV 18-19 · 2016
eclipse, te echo de menos...
![Page 26: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/26.jpg)
MADRID · NOV 18-19 · 2016
...necesito tu ayuda
![Page 27: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/27.jpg)
MADRID · NOV 18-19 · 2016
Avísame si me equivoco…
y ayúdame a solucionar mis problemas
![Page 28: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/28.jpg)
MADRID · NOV 18-19 · 2016
Dime qué puedo hacer...
...y escribe tu el código por mi
![Page 29: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/29.jpg)
MADRID · NOV 18-19 · 2016
A veces cambio de nombre...
...y tú te aseguras de que los demás lo saben
![Page 30: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/30.jpg)
MADRID · NOV 18-19 · 2016
Y cuando tengo dudas...
...tú me las resuelves
![Page 31: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/31.jpg)
MADRID · NOV 18-19 · 2016
...sé que con JavaScript no
me puedes ayudar
![Page 32: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/32.jpg)
MADRID · NOV 18-19 · 2016
pero puedo añadir a mi
código lo que te haga falta
![Page 33: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/33.jpg)
MADRID · NOV 18-19 · 2016
![Page 34: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/34.jpg)
MADRID · NOV 18-19 · 2016
Qué es TypeScript?
Una extensión de JavaScript ES6
para que puedas ayudar a las herramientas
para que te ayuden a ti
![Page 35: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/35.jpg)
MADRID · NOV 18-19 · 2016
![Page 36: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/36.jpg)
MADRID · NOV 18-19 · 2016
Vamos a programar y
os lo cuento...
![Page 37: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/37.jpg)
MADRID · NOV 18-19 · 2016
Necesitamos un editor moderno
Visual Studio Code
![Page 38: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/38.jpg)
MADRID · NOV 18-19 · 2016
Preparando el entorno...
● Node.jshttps://nodejs.org/
● Visual Studio Codehttps://code.visualstudio.com
● TypeScriptnpm install -g typescript
![Page 39: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/39.jpg)
MADRID · NOV 18-19 · 2016
![Page 40: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/40.jpg)
MADRID · NOV 18-19 · 2016
Herramientas TypeScript
● Analizan el código TS y generan JS ES6 (quitando el código no estándar)
● Si encuentra algún problema en tu código te avisan
● Aunque tu código tenga “avisos”, siempre se genera el JavaScript
● Un mismo proyecto puede tener código JS y TS a la vez
![Page 41: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/41.jpg)
MADRID · NOV 18-19 · 2016
el lenguaje
![Page 42: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/42.jpg)
MADRID · NOV 18-19 · 2016
Valores del mismo tipo en variables
● Si asignas un valor de un tipo al inicializar una variable y luego asignas un valor de otro tipo, TypeScript te avisa
ERROR: Type 'string' is not assignable to type 'number'
![Page 43: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/43.jpg)
MADRID · NOV 18-19 · 2016
Verificación de uso correcto
● TS te avisa si usas una propiedad o método no disponible en el tipo de la variable
ERROR: Property 'length' does not exist on type 'number'
![Page 44: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/44.jpg)
MADRID · NOV 18-19 · 2016
Autocompletado de métodos
● Como sabe el tipo de la variable y los métodos que tiene, te ayuda
![Page 45: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/45.jpg)
MADRID · NOV 18-19 · 2016
Variables no declaradas
● Si intentas usar una variable no declarada, te avisa
ERROR: Cannot find name 'nam'
![Page 46: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/46.jpg)
MADRID · NOV 18-19 · 2016
Variables con cualquier valor
● Si no inicializas la variable, TS asume que esa variable puede contener valores de cualquier tipo
Variable con valores de diferente tipo
![Page 47: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/47.jpg)
MADRID · NOV 18-19 · 2016
Te has dado cuenta?
Era código JavaScript estándar
Empezamos con las extensiones de TypeScript
![Page 48: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/48.jpg)
MADRID · NOV 18-19 · 2016
Tipos de parámetros
● TS no puede inferir el tipo de los parámetros porque no se inicializan*
De qué tipo son estos parámetros?
* En ES6 se puede dar valor por defecto a los parámetros
![Page 49: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/49.jpg)
MADRID · NOV 18-19 · 2016
Tipos de parámetros
● Para poder ayudar, TS necesita saber de qué tipo son los parámetros
● Tipos básicos
Etiquetas de tipo
string number boolean
![Page 50: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/50.jpg)
MADRID · NOV 18-19 · 2016
Tipo de retorno de funciones
● Si le decimos el tipo de retorno de la función, TS también nos ayuda
ERROR: Type 'string' is not assignable to type 'number'
![Page 51: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/51.jpg)
MADRID · NOV 18-19 · 2016
Tipo de retorno de funciones
● Si le decimos que no vamos a devolver valor, nos avisa si lo hacemos
● Usamos el “tipo” void
ERROR: Type 'string' is not assignable to type 'void'
No devolvemos valor
![Page 52: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/52.jpg)
MADRID · NOV 18-19 · 2016
Llamar a una función
● Si le decimos los tipos de la función, nos ayuda si no hacemos bien la llamada
● Y también puede inferir el tipo de la variable
ERROR: Argument of type 'string' is not assignable to parameter of type 'number'
TS conoce que num es de tipo
number
![Page 53: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/53.jpg)
MADRID · NOV 18-19 · 2016
Parámetros opcionales
● En TS se asume que todos los parámetros son obligatorios, pero podemos hacer que sean opcionales con ? parámetro
opcional
ERROR: Supplied parameters do not match any signature of call target.
![Page 54: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/54.jpg)
MADRID · NOV 18-19 · 2016
Declaración del tipo en un variable
● Siempre podemos indicar el tipo de la variable al declararla
● También la podríamos inicializar
ERROR: Type 'number' is not assignable to type 'string'
![Page 55: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/55.jpg)
MADRID · NOV 18-19 · 2016
Arrays
● TS también nos ayuda con los arrays
Tipo string
Tipo string[]
Tipo string
![Page 56: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/56.jpg)
MADRID · NOV 18-19 · 2016
Arrays
● Incluso con sus métodos
ERROR: Argument of type 'string' is not assignable to parameter of type 'boolean'
![Page 57: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/57.jpg)
MADRID · NOV 18-19 · 2016
¿Has visto todo lo que
te puede ayudar TypeScript
sabiendo el tipo?
![Page 58: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/58.jpg)
MADRID · NOV 18-19 · 2016
Te gustaría que TS te
avisara cuando no sabe el
tipo de una variable?
![Page 59: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/59.jpg)
MADRID · NOV 18-19 · 2016
El tipo any
● Cuado TS no puede adivinar un tipo mejor para una variable, considera que tiene el tipo any Estos parámetros tienen tipo any
Como puede venir cualquier valor, TS no nos puede ayudar mucho
![Page 60: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/60.jpg)
MADRID · NOV 18-19 · 2016
El tipo any
● Si tomamos la decisión de poner tipo a todos los parámetros y variables, estaría bien que TS te avisara si se te olvida
● TS te puede avisar si una variable tiene un tipo any implícito
https://basarat.gitbooks.io/typescript/content/docs/options/noImplicitAny.html
--noImplicitAny
![Page 61: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/61.jpg)
MADRID · NOV 18-19 · 2016
Fichero tsconfig.json
● Un proyecto TS suele tener un fichero tsconfig.json en la raíz para configurar las herramientas
https://www.typescriptlang.org/docs/handbook/tsconfig-json.html
Genera módulos Node.js
Genera sourceMaps
Genera los JS en la carpeta “out”
Permite mezclar JS y TS
Incluye y excluye estos ficheros
![Page 62: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/62.jpg)
MADRID · NOV 18-19 · 2016
noImplicityAny
● Avisa cuando se infiere el tipo any para una variable o parámetro
noImplicitAny activada
https://basarat.gitbooks.io/typescript/content/docs/options/noImplicitAny.html
![Page 63: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/63.jpg)
MADRID · NOV 18-19 · 2016
noImplicityAny
● Si está activada noImplicitAny se obtiene el siguiente aviso
https://basarat.gitbooks.io/typescript/content/docs/options/noImplicitAny.html
ERROR: Parameter 'name' implicitly has an 'any' type
![Page 64: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/64.jpg)
MADRID · NOV 18-19 · 2016
noImplicityAny
● Si no sabemos el tipo, ponemos el tipo del parámetro como any
https://basarat.gitbooks.io/typescript/content/docs/options/noImplicitAny.html
![Page 65: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/65.jpg)
MADRID · NOV 18-19 · 2016
Elegir el tipo más preciso
● Tipos básicos– any:
● Cualquier valor● Demasiado genérico
– number, string o boolean: ● Algunas veces demasiado restringido
![Page 66: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/66.jpg)
MADRID · NOV 18-19 · 2016
y si en mi código JS un
parámetro id puede ser
number o string?
![Page 67: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/67.jpg)
MADRID · NOV 18-19 · 2016
Tipos Avanzados
![Page 68: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/68.jpg)
MADRID · NOV 18-19 · 2016
TypeScript
no te obliga a cambiar
tu código JavaScript
![Page 69: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/69.jpg)
MADRID · NOV 18-19 · 2016
Tiene un sistema de tipos
adaptado a los idiomas
JavaScript
![Page 70: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/70.jpg)
MADRID · NOV 18-19 · 2016
Tipos unión
● Una variable puede tener valores de varios tipos
https://www.typescriptlang.org/docs/handbook/advanced-types.html
Tipo unión
![Page 71: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/71.jpg)
MADRID · NOV 18-19 · 2016
Tipos unión
● Si la definición del tipo se complica, se puede definir como un tipo, darle nombre y usar ese nombre
https://www.typescriptlang.org/docs/handbook/advanced-types.html
![Page 72: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/72.jpg)
MADRID · NOV 18-19 · 2016
Enumerados
● La unión también se puede usar para definir enumerados de string
https://basarat.gitbooks.io/typescript/content/docs/tips/stringEnums.html
Enumerado basado en strings
ERROR: Argument of type '"meybe"' is not assignable to parameter of type '"yes" | "no" | "maybe"'* Existen mecanismos más avanzados
para declarar enumerados en TypeScript
![Page 73: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/73.jpg)
MADRID · NOV 18-19 · 2016
Tipos de Funciones
![Page 74: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/74.jpg)
MADRID · NOV 18-19 · 2016
Tipos de funciones
● Cuando asignamos una función a una variable se infiere el tipo de la función
ERROR: Supplied parameters do not match any signature of call target
![Page 75: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/75.jpg)
MADRID · NOV 18-19 · 2016
Tipos de funciones
● Podemos declarar el tipo de la función de forma explícita
Tipo de la funciónParámetros => Tipo de retorno
![Page 76: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/76.jpg)
MADRID · NOV 18-19 · 2016
Tipos de funciones
● Ahora con parámetros
![Page 77: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/77.jpg)
MADRID · NOV 18-19 · 2016
Tipos de funciones
● Y si nos equivocamos, TS nos ayuda
ERROR: Type '() => string' is not assignable to type '(num: number) => number'. Type 'string' is not assignable to type 'number'
![Page 78: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/78.jpg)
MADRID · NOV 18-19 · 2016
Tipos de funciones
● Para soportar idiomas típicos TS es flexible● Permite asignar funciones con menos
parámetros que los declarados en el tipo, siempre que sus tipos sean compatibles
![Page 79: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/79.jpg)
MADRID · NOV 18-19 · 2016
Tipos de Objetos
![Page 80: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/80.jpg)
MADRID · NOV 18-19 · 2016
Tipos de objetos
● En los objetos literales se infiere el tipo de la inicialización de la variable
![Page 81: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/81.jpg)
MADRID · NOV 18-19 · 2016
Tipos de objetos
● Por defecto no podemos añadir propiedades
ERROR: Property 'telefono' does not exist on type '{ nombre: string; salario: number; }'
![Page 82: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/82.jpg)
MADRID · NOV 18-19 · 2016
Tipos de objetos
● Podemos declarar la variable como any, pero no se realizará ninguna validación
Variable de tipo any
![Page 83: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/83.jpg)
MADRID · NOV 18-19 · 2016
Tipos de objetos
● En los parámetros de las funciones, el tipo no se puede inferir
● Si queremos ayuda, hay que especificar el tipo de forma explícita
Error no detectado
![Page 84: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/84.jpg)
MADRID · NOV 18-19 · 2016
Tipos de objetos
● Se le puede dar un nombre al tipo de objeto
Tipo de objeto
![Page 85: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/85.jpg)
MADRID · NOV 18-19 · 2016
Tipos de objetos
● Se le puede definir propiedades opcionales
Opcional
![Page 86: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/86.jpg)
MADRID · NOV 18-19 · 2016
Tipos de objetos
● Para prevenir errores, TS nos avisa cuando pasamos una propiedad no declarada
ERROR: ...Object literal may only specify known properties, and 'widht' does not exist...
![Page 87: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/87.jpg)
MADRID · NOV 18-19 · 2016
Clases
![Page 88: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/88.jpg)
MADRID · NOV 18-19 · 2016
Clases
![Page 89: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/89.jpg)
MADRID · NOV 18-19 · 2016
Desde ES6, en JavaScript
se pueden implementar*
clases
* Aunque es azúcar sintáctico de los prototipos
![Page 90: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/90.jpg)
MADRID · NOV 18-19 · 2016
Clases en ES6
![Page 91: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/91.jpg)
MADRID · NOV 18-19 · 2016
Herencia de clases en ES6
![Page 92: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/92.jpg)
MADRID · NOV 18-19 · 2016
Creación de objetos en ES6
![Page 93: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/93.jpg)
MADRID · NOV 18-19 · 2016
Clases en ES6
● No se declaran los atributos● Los atributos se crean al usarse (con this) en
el constructor o los métodos● No existe el concepto de visibilidad de los
atributos, todos son públicos● Hay bastante controversia sobre su uso
https://medium.com/javascript-scene/how-to-fix-the-es6-class-keyword-2d42bb3f4caf#.vvmrzg9f0
https://medium.com/@housecor/in-defense-of-javascript-classes-e50bf2270a95#.bqp1arnuy
![Page 94: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/94.jpg)
MADRID · NOV 18-19 · 2016
TypeScript nos puede
ayudar a implementar clases
y crear objetos
(si queremos usarlas)
![Page 95: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/95.jpg)
MADRID · NOV 18-19 · 2016
Clases en TypeScript
● Es obligatorio declarar los atributos● Podemos usar visibilidad public (por
defecto), private y protected● TypeScript nos avisa de:
– Uso de atributos que no existen– Llamadas a métodos que no existen o
parámetros no adecuados– Violaciones de la visibilidad
![Page 96: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/96.jpg)
MADRID · NOV 18-19 · 2016
Clases en TypeScript
Declaración de atributos
![Page 97: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/97.jpg)
MADRID · NOV 18-19 · 2016
Clases en TypeScript
● Para evitar tanta repetición, un parámetro del constructor con una visibilidad se considera también un atributo (y se inicializa)
![Page 98: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/98.jpg)
MADRID · NOV 18-19 · 2016
Clases y tipos de objetos
● Los objetos de una clase se pueden asignar a variables definidas con un tipo de objeto si cumplen con su estructura
Person cumple la
estructura de Named
Person es asignable a
Named
![Page 99: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/99.jpg)
MADRID · NOV 18-19 · 2016
Interfaces en TypeScript
● Un tipo de objeto se parece mucho a un interfaz de lenguajes como Java o C#
● Podemos declarar un tipo de objeto como un interfaz
![Page 100: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/100.jpg)
MADRID · NOV 18-19 · 2016
Interfaces en TypeScript
● Las clases pueden implementar interfaces● TS nos avisa si la clase no cumple la
estructura del interfazERROR: Class 'Person' incorrectly implements interface 'Named'.
Property 'name' is missing in type 'Person'
![Page 101: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/101.jpg)
MADRID · NOV 18-19 · 2016
Tipos de lasLibrerías
Bibliotecas?
![Page 102: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/102.jpg)
MADRID · NOV 18-19 · 2016
Tipos de las librerías
● Lo ideal sería que todas las bibliotecas que usamos tuvieran los tipos ya definidos
● TypeScript viene de serie con librerías del navegador
● Podemos usar las que queramos dependiendo del entorno de ejecución
dom webworker es5 es6
![Page 103: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/103.jpg)
MADRID · NOV 18-19 · 2016
Librerías de terceros?
● La comunidad ha definido el tipo de 2344 librerías
https://www.npmjs.com/~types
![Page 104: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/104.jpg)
MADRID · NOV 18-19 · 2016
Librerías de terceros?
● La comunidad ha definido el tipo de 2344 librerías
https://www.npmjs.com/~types
![Page 105: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/105.jpg)
MADRID · NOV 18-19 · 2016
Librerías de terceros?
● Algunas incluso están implementadas en TS
https://www.npmjs.com/~types
![Page 106: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/106.jpg)
MADRID · NOV 18-19 · 2016
Y si la librería no tiene tipos?
● Puedes usarla como en JavaScript (sin ninguna ayuda de TS)
● O puedes ir definiendo los tipos que te vayan haciendo falta partiendo de la documentación
● Y si la definición es de calidad, puedes compartirla con la comunidad en DefinitelyTyped
http://definitelytyped.org/
![Page 107: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/107.jpg)
MADRID · NOV 18-19 · 2016
Y mucho más...
![Page 108: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/108.jpg)
MADRID · NOV 18-19 · 2016
Otras características de TypeScript
● Lenguaje– Generics en clases y funciones– Async / Await (ES7)– Anotaciones (ES7)
● Herramientas– Generar ES5 (evitando el uso de Babel)– Transpilador en el browser (prototipado)
![Page 109: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/109.jpg)
MADRID · NOV 18-19 · 2016
Interesante...Y quién ha hecho
esto?
![Page 110: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/110.jpg)
MADRID · NOV 18-19 · 2016
![Page 111: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/111.jpg)
MADRID · NOV 18-19 · 2016
Quién ha hecho TypeScript?
● Un proyecto desarrollado en abierto en GitHub
● Liderando Anders Hejlsberg – (Turbo Pascal, Delphi, C#)
● Financiado por Microsoft● Licencia Apache 2
http://www.typescriptlang.org/ https://www.gitbook.com/book/basarat/typescript/details
![Page 112: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/112.jpg)
MADRID · NOV 18-19 · 2016
Volvemos a la eterna
discusión de qué lenguajes son mejores?
Tipado estático vs dinámico?
![Page 113: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/113.jpg)
MADRID · NOV 18-19 · 2016
El eterno debate
● Static vs Dynamic– https://pchiusano.github.io/2016-09-15/static-vs-dynamic.html
● Static typing will not save us from bugs– http://www.drmaciver.com/2016/10/static-typing-will-not-save-us-from-broken-softwar
e/
● Types– https://gist.github.com/garybernhardt/122909856b570c5c457a6cd674795a9c
● What to know before debating type systems– http://blogs.perl.org/users/ovid/2010/08/what-to-know-before-debating-type-systems.
html
● Unit testing is't enough. You need static typings too– http://evanfarrer.blogspot.com.es/2012/06/unit-testing-isnt-enough-you-need.html
![Page 114: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/114.jpg)
MADRID · NOV 18-19 · 2016
Uncle BobRobert C. Martin
http://blog.cleancoder.com/uncle-bob/2016/05/01/TypeWars.html
You don't need static type checking if you have 100% unit test coverage
As TDD becomes more accepted, dynamic languages will be preferred
![Page 115: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/115.jpg)
MADRID · NOV 18-19 · 2016
Encuesta totalmente sesgada hacia Javeros torpes como yo ;)
https://twitter.com/micael_gallego/status/787916015648768000
![Page 116: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/116.jpg)
MADRID · NOV 18-19 · 2016
Según Anders, TS no es ni tipado
estático ni dinámico
https://twitter.com/ahejlsberg/status/792762247239995392?s=09
![Page 117: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/117.jpg)
MADRID · NOV 18-19 · 2016
¿TypeScript o JavaScript?
Depende del programador
y del proyecto
![Page 118: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/118.jpg)
MADRID · NOV 18-19 · 2016
Hay quien considera que TypeScript lo
complica todo innecesariamente
(y es comprensible)
![Page 119: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/119.jpg)
MADRID · NOV 18-19 · 2016 https://twitter.com/pinchito/status/654293829013643265
![Page 120: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/120.jpg)
MADRID · NOV 18-19 · 2016https://twitter.com/CodingCarlos/status/780536033712738305
![Page 121: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/121.jpg)
MADRID · NOV 18-19 · 2016
TypeScript es un nuevo enfoque,
tu JavaScript de siempre pero con
una red de seguridad
![Page 122: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/122.jpg)
MADRID · NOV 18-19 · 2016
Cada vez hay más JavaScripters
convencidos que ven
bondades en TypeScript
![Page 123: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/123.jpg)
MADRID · NOV 18-19 · 2016https://twitter.com/javiervelezreye/status/793594508298551296
![Page 124: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/124.jpg)
MADRID · NOV 18-19 · 2016https://twitter.com/maxlynch/status/733669142985908225
![Page 125: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/125.jpg)
MADRID · NOV 18-19 · 2016
https://medium.com/webpack/sustaining-webpack-for-the-future-part-1-32bea7f9e8a2#.7mbnncr89
Sean T. LarkinWebpack core developer
![Page 126: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/126.jpg)
MADRID · NOV 18-19 · 2016
La experiencia de un JavaScripter
cualquiera...
http://teropa.info/blog/2016/05/19/things-that-excite-me-about-angular-2.html
![Page 127: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/127.jpg)
MADRID · NOV 18-19 · 2016
Llevo trabajando desde hace mucho tiempo
con lenguajes dinámicos (JavaScript,
Clojure, Ruby) sin verificación de tipos ni
autocompletado en mi editor.
![Page 128: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/128.jpg)
MADRID · NOV 18-19 · 2016
Mi cerebro ha aprendido a trabajar sin esas
cosas. Sabía que estas funcionalidades son
las ventajas que aporta TypeScript, pero no
eran para mi. No creo que valga la pena
añadir nuevas herramientas y la gestión de
los tipos de las librerías.
![Page 129: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/129.jpg)
MADRID · NOV 18-19 · 2016
Pero empecé a usar TypeScript en algunos
proyectos y algo ocurrió. Me olvidaba de
que TypeScript estaba ahí.
Seguía programando como había hecho
con JavaScript durante años.
![Page 130: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/130.jpg)
MADRID · NOV 18-19 · 2016
La gente dice que TypeScript es como una
pequeña capa encima de JavaScript, pero
hasta que no lo pruebas no te das cuenta.
Es sólo JavaScript pero con cinturón de
seguridad.
![Page 131: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/131.jpg)
MADRID · NOV 18-19 · 2016
He empezado a detectar problemas en
mis proyectos JavaScript donde he
pensado “podríamos haber detectado este
error antes si hubiéramos tenido un
interfaz TypeScript”
![Page 132: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/132.jpg)
MADRID · NOV 18-19 · 2016
Cuál es la adopción de
TypeScript?
![Page 133: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/133.jpg)
MADRID · NOV 18-19 · 2016
Es el lenguaje recomendado por Google
para aplicaciones Angular 2
![Page 134: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/134.jpg)
MADRID · NOV 18-19 · 2016
TypeScript
coffeescript
ES6
Google Trends
![Page 135: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/135.jpg)
MADRID · NOV 18-19 · 2016
TypeScript es para mi?
estarás pensando...
![Page 136: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/136.jpg)
MADRID · NOV 18-19 · 2016
Depende de
lo torpe que
seas
![Page 137: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/137.jpg)
MADRID · NOV 18-19 · 2016
Te he convencido…
Y lo sabes
![Page 138: TypeScript: Un lenguaje aburrido para programadores torpes y tristes](https://reader030.vdocuments.net/reader030/viewer/2022021420/587185c21a28ab2c198b4ddd/html5/thumbnails/138.jpg)
MADRID · NOV 18-19 · 2016
Prueba, y me cuentas!
Gracias!por venir
@micael_gallego [email protected]
https://goo.gl/forms/i3m2SOFr8nAaZWB62
Feedback de lacharla y de TypeScript