Fundamentos de TypeScript

En este capítulo se abordarán los fundamentos de TypeScript, como los tipos primitivos, tipos personalizados e Inferencia de tipos en TypeScript.

Tipos primitivos (string, number, boolean, any, void, null, undefined).

string

let nombre: string = 'Juan';

En el caso de las cadenas de texto, TypeScript permite el uso de comillas simples o dobles.

number

let edad: number = 30;

En el caso de los números, TypeScript permite el uso de números enteros y decimales.

boolean

let esMayorDeEdad: boolean = true;

En el caso de los booleanos, TypeScript permite el uso de true y false.

any

let variable: any = 'Hola';
variable = 10;
variable = true;

En el caso de la variable any, TypeScript permite asignar cualquier tipo de valor.

void

function saludar(): void {
    console.log('Hola mundo');
}

En el caso de las funciones, TypeScript permite el uso de void para indicar que la función no retorna ningún valor.

null

let variable: null = null;

En el caso de las variables, TypeScript permite el uso de null.

undefined

let variable: undefined = undefined;

En el caso de las variables, TypeScript permite el uso de undefined.

Tipos personalizados (enums, tuples)

En esta sección se abordarán los tipos personalizados en TypeScript, como los enums y tuples.

enums

enum Color {
    Rojo,
    Verde,
    Azul
}

let color: Color = Color.Verde;

En el caso de los enums, TypeScript permite definir un conjunto de valores.

tuples

let persona: [string, number] = ['Juan', 30];

En el caso de las tuples, TypeScript permite definir un conjunto de valores con tipos específicos.

Inferencia de tipos

En TypeScript, la Inferencia de tipos permite asignar un tipo de dato a una variable sin necesidad de especificarlo.

let nombre = 'Juan';

En el caso anterior, TypeScript infiere que la variable nombre es de tipo string.

Ejemplos Prácticos.

Ejemplo 1: Tipos primitivos

  1. Crear un archivo tipos-primitivos.ts.

  2. Agregar el siguiente código:

let nombre: string = 'Juan';
let edad: number = 30;
let esMayorDeEdad: boolean = true;
let variable: any = 'Hola';
variable = 10;
variable = true;
let variableNula: null = null;
let variableIndefinida: undefined = undefined;

console.log(nombre);
console.log(edad);
console.log(esMayorDeEdad);
console.log(variable);
console.log(variableNula);
console.log(variableIndefinida);

En el caso anterior, se declararon variables de tipo string, number, boolean, any, null y undefined.

  1. Ejecutar el archivo tipos-primitivos.ts.
tsc tipos-primitivos.ts
node tipos-primitivos.js

En el caso anterior, se compila el archivo tipos-primitivos.ts y se ejecuta el archivo tipos-primitivos.js.

Ejemplo 2: Tipos personalizados

  1. Crear un archivo tipos-personalizados.ts.

  2. Agregar el siguiente código:

let persona1: [string, number] = ['Juan', 30];

console.log(persona1);

En el caso anterior, se declaró un enum llamado Color y una tuple llamada persona.

  1. Ejecutar el archivo tipos-personalizados.ts.
tsc tipos-personalizados.ts
node tipos-personalizados.js

En el caso anterior, se compila el archivo tipos-personalizados.ts y se ejecuta el archivo tipos-personalizados.js.

Ejemplo 3: Inferencia de tipos

  1. Crear un archivo inferencia-tipos.ts.

  2. Agregar el siguiente código:

let nombre = 'Juan';

console.log(nombre);

En el caso anterior, se declaró una variable nombre sin especificar el tipo de dato.

  1. Ejecutar el archivo inferencia-tipos.ts.
tsc inferencia-tipos.ts
node inferencia-tipos.js

En el caso anterior, se compila el archivo inferencia-tipos.ts y se ejecuta el archivo inferencia-tipos.js.

Ejemplos

  1. Crear un archivo tipos-primitivos.ts que contenga las siguientes variables:
  • Una variable de tipo string llamada nombre con el valor ‘Juan’.

  • Una variable de tipo number llamada edad con el valor 30.

  • Una variable de tipo boolean llamada esMayorDeEdad con el valor true.

  • Una variable de tipo any llamada variable con el valor ‘Hola’.

  • Una variable de tipo any llamada variable con el valor 10.

  • Una variable de tipo any llamada variable con el valor true.

  • Una variable de tipo null llamada variableNula con el valor null.

  • Una variable de tipo undefined llamada variableIndefinida con el valor undefined.

  • Crear un archivo tipos-primitivos.ts.

let nombre: string = 'Juan';
let edad: number = 30;
let esMayorDeEdad: boolean = true;
let variable: any = 'Hola';
variable = 10;
variable = true;
let variableNula: null = null;
let variableIndefinida: undefined = undefined;

console.log(nombre); // Juan
console.log(edad); // 30
console.log(esMayorDeEdad); // true
console.log(variable); // true
console.log(variableNula); // null
console.log(variableIndefinida); // undefined
  • Ejecutar el archivo tipos-primitivos.ts.
tsc tipos-primitivos.ts
node tipos-primitivos.js
  1. Crear un archivo tipos-personalizados.ts que contenga las siguientes variables:
  • Un enum llamado Color con los valores Rojo, Verde y Azul.

  • Una tuple llamada persona con los valores ‘Juan’ y 30.

  • Crear un archivo tipos-personalizados.ts.

enum Color {
    Rojo,
    Verde,
    Azul
}

let color: Color = Color.Verde;

console.log(color); // 1

let persona: [string, number] = ['Juan', 30];

console.log(persona); // ['Juan', 30]
  • Ejecutar el archivo tipos-personalizados.ts.
tsc tipos-personalizados.ts
node tipos-personalizados.js

En el caso anterior, se declaró un enum llamado Color y una tuple llamada persona.

  1. Crear un archivo inferencia-tipos.ts que contenga la siguiente variable:
  • Una variable llamada nombre con el valor ‘Juan’.

  • Crear un archivo inferencia-tipos.ts.

let nombre = 'Juan';

console.log(nombre); // Juan
  • Ejecutar el archivo inferencia-tipos.ts.
tsc inferencia-tipos.ts
node inferencia-tipos.js

En el caso anterior, se declaró una variable nombre sin especificar el tipo de dato.

Reto

  1. Crear un archivo tipos-primitivos.ts que contenga las siguientes variables:
  • Una variable de tipo string llamada nombre con el valor ‘Juan’.
  • Una variable de tipo number llamada edad con el valor 30.
  • Una variable de tipo boolean llamada esMayorDeEdad con el valor true.
  • Una variable de tipo any llamada variable con el valor ‘Hola’.
  • Una variable de tipo any llamada variable con el valor 10.
  • Una variable de tipo any llamada variable con el valor true.
  • Una variable de tipo null llamada variableNula con el valor null.
  • Una variable de tipo undefined llamada variableIndefinida con el valor undefined.
🔍 Ver código
  • Crear un archivo tipos-primitivos.ts.
let nombre: string = 'Juan';
let edad: number = 30;
let esMayorDeEdad: boolean = true;
let variable: any = 'Hola';
variable = 10;
variable = true;
let variableNula: null = null;
let variableIndefinida: undefined = undefined;

console.log(nombre); // Juan
console.log(edad); // 30
console.log(esMayorDeEdad); // true
console.log(variable); // true
console.log(variableNula); // null
console.log(variableIndefinida); // undefined
  • Ejecutar el archivo tipos-primitivos.ts.
tsc tipos-primitivos.ts
node tipos-primitivos.js

Conclusiones

En este capítulo se abordaron los fundamentos de TypeScript, como los tipos primitivos, tipos personalizados e Inferencia de tipos en TypeScript.

Enlaces de interés