• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to footer

Geekebrains

Para programadores, maker y geeks en general

  • Inicio
  • Code Brains
  • Zona Makers!
  • Code & Beers
  • GeekeHistorias
  • GeekeBlocks
  • Qué es …?
You are here: Home / Code Brains / TypeScript

18 febrero, 2021 Por admin8049

TypeScript

Qué es TypeScript?

Es un superconjunto de javascript, osea es javascript plus o javascript con esteroides. Basicamente añade tipado estatico de datos y una gestión clases similar a otros lenguajes de programación orientados a objetos (POO). Cualquier código valido de javascript, se puede compilar en typescript pero el código typescript no se puede ejecutar directamente en el navegador o en un motor de javascript.

Fue publicado por Microsoft en octubre de 2012, dirigido por Anders Hejlsberg, el diseñador de C# y creador de Delphi y Turbo Pascal.

Typescript es la solución a muchos de los problemas de JavaScript. Permite desarrollo de aplicaciones más robustas, sin errores de tipado en tiempo de ejecución, implementando características en el lenguaje que nos permitan desarrollar aplicaciones mas robustas y profesionales.

No lo soluciona todo, al final hay que programar bien, pero evita muchísimos errores tontos por haber puesto mal el nombre de una variable en un sitio o de intentar meter una variable de un tipo en otro. El problema es que javascript siempre traga con todo, y después la aplicación a veces no hace lo que esperas. Con typescript te permite definir los tipos de datos y eso elimina montones de problemas.

Vaticinio personal de bruja Lola: Al final muchas de las utilidades de TypeScript acabarán formando parte de forma nativa del estándar de JavaScript (lo digo en Febrero de 2021, ahí queda dicho).

Para ejecutarlo en el navegador realmente el código se transpila (se traduce) a la versión de javascript que quieras.

Recursos

https://www.typescriptlang.org/

https://github.com/type-challenges/type-challenges

Instalación

> npm install -g typescript

Para crear un proyecto con la preconfiguración basica:

> npx create-react-app my-app --template typescript

Tipos Primitivos

> tsc nombre_fichero.ts 


El compilador se configura con el archivo tsconfig.json:
{
    "compilerOptions": {
        "outDir": "./dist",
        "target": "ES6",
        "allowJs": true,
				"lib": ["DOM", "DOM.Iterable", "ESNext"]
    },
    "include": ["./js/**/*"],
    


}

Para ajustar la configuración de Webpack modificaremos el fichero webpack.common.js y añadiremos el objeto resolve para detectar los archivos .ts:

resolve: {
    extensions: [".ts", ".js"],
},

En rules cambiaremos babel-loader por ts-loader:

rules: [
  {
    test: /\.ts$/,
    exclude: /node_modules/,
    use: {
      loader: "ts-loader",
      options: {
        transpileOnly: true,
      },
    },
  }

Tipos primitivos

Muy facilitos: string, number y boolean

Arrays

Puedes utilizar la sintaxis T<U>:

let misNumeros<number> = [1, 2, 3];
let misStrings<string> = ["hola", "adios"];

any

Este tipo lo traga todo, vamos como si fuera javascript, deberíamos evitarlo. De hecho si no indicas un tipo, por defecto va a ser any.

Declaración implicita de tipo

En el momento que inicializas una variable, ya queda tipada a fuego.

let myName: string = «Lola»;

// es lo mismo que

let myName = «Lola»;

function

strictChecks

– noImplicitAnys

– strictNullChecks

– «!» Not null assertion

– strict

Definitely Typed

Decorators

implements interface

constructor

narrowing

Diferencias entre type y interface

implements Partial<>

Videocurso de Typescript

[WIP]

Conocimientos previos:

Javascript básico

Filed Under: Code Brains Tagged With: lenguajes de programación

Previous Post: « Cómo tener distintas versiones de node en tu equipo?
Next Post: Docker »

Primary Sidebar

Categorías

  • Code & Beers
  • Code Brains
  • Cómo …?
  • Experimentos
  • GeekeBlocks
  • GeekeHistorias
  • Noticias Geek
  • Proyectos
  • Qué es …?
  • Quién es …?
  • Zona Junior!
  • Zona makers!

Etiquetas

Antipatrones de diseño de software Arduino Arquitectura de software base64 Bases de Datos cert Certificados Digitales Clean Code control de acceso DBeaver Diseño de Software docker docker-compose Domain Drive Design Edición de video https IDE Java javascript jest JSON lenguajes de programación Librerías de JavaScript MongoDb MySQL NodeJS NoSQL odoo openssl Oracle package.json Patrones de Diseño de Software pem plugins Postgres Prettier ReactJS seguridad Serverless shell SSL testing TypeScript utilidades de software Visual Studio Code

Entradas recientes

  • CAPTCHA y por qué es importante para la seguridad en línea
  • Cómo mokear una clase que se instancia dentro de otra que necesitas testear y no se pasa por injección?
  • tsconfig paths con Typescript en Serverless
  • Serverless, un framework para todos los proveedores
  • Serverless, otro enfoque de desarrollo
  • Que es currying en Javascript
  • Noticias Junio 2023. Vuelta a la oficina, Million.js, Linux Azure, Apple Vision, Java 21…
  • 23.3 WS:IA-JS Creando un Blog en React con chatGPT.
  • 23.2 IA. Cómo va a afectar a nuestros empleos?
  • 23.1 IA. En que punto estamos y como hemos llegado hasta aquí.
Jesús A. Carballo Santaclara

Empezé trasteando en los 80' con un ZX espectrum, después pasé al potente "PC 8086" (jeje...). He trabajado haciendo software para la administración pública, para Hospitales, el sector de la Automoción, el sector Bancario, en algún e-Commerce de alguna multinacional y he emprendido en robótica educativa y en buscadores web.
Trabajo de forma profesional en esto de los ordenadores desde hace mas de 25 años espero poder contarte alguna cosa interesante.

Footer

Copyright © 2025 · GeekeZonia · Aviso Legal · Política de Cookies · Política de Privacidad · Log in