Tipos primitivos
Boolean
true o false
let isDone: boolean = false;
Number
Datos númericos
let decimal: number = 6;
let hex: number = 0xf00d;
let binary: number = 0b1010;
let octal: number = 0o744
String
Cadenas de caracteres y/o textos
let color: string = "blue"; //
color = 'red';
También se pueben utilizar "Templates" plantillas para concatenar strings como por ejemplo:
let fullName: string = `Bob Bobbington`;
let age: number = 37;
let sentence: string = `Hello, my name is ${ fullName }. I'll be ${ age + 1 } years old next month.`
Para poder utilizar esta sintaxis los string deben estar contenidos entre `
.
Este tipo de sintaxis es el equivalente a:
let sentence: string = "Hello, my name is " + fullName + "." + "I'll be " + (age + 1) + " years old next month."
Plantillas de strings
Las plantillas de strings se escriben entre `
y la sintáxis sería:
var lyrics = 'Never gonna give you up'; // entre comillas simples
var html = `<div>${lyrics}</div>`; // entre tilde inversa
Este tipo de plantillas permite que podamos utilizar más de una línea sin tener que utilizar el operador +
por eso se dice que un "string templated" es multilineal
String literal type
Podemos crear un string literal como un type. Por ejemplo:
let literalString = 'Hello';
La variable que acabamos de crear nada más que podrá contener el valor que le hemos asignado, es decir 'Hola'.
let literalString = 'Hello';
literalString = 'Bye'; // Error: "Bye" is not assignable to type "Hello"
Por si solo no tiene una gran utilidad por lo que se combina con union types, type guards, y type alias. Los cuales explicaremos más tarde.
type CardinalDirection =
"North"
| "East"
| "South"
| "West";
function move(distance: number, direction: CardinalDirection) {
// ...
}
move(1,"North"); // Okay
move(1,"Nurth"); // Error!
Array
Arrays, sino se les especifica tipo son ANY
let list: number[] = [1, 2, 3];
Con esta sintaxis se puede especificar qué tipo de datos debe haber en el array
let list: Array<number> = [1, 2, 3];
Null
Es cuando un objeto o variable no esta accesible.
Undefined
Es cuando un objeto o variabe existe pero no tiene un valor.
Si nuestro código interactua con alguna API podemos recibir null como respuesta, para evaluar esas respuestas es mejor utilizar ==
en vez de ===
// ----- ejemplo.ts -----------
console.log(undefined == undefined); // true
console.log(null == undefined); // true
console.log(0 == undefined); // false
console.log('' == undefined); // false
console.log(false == undefined); // false