Typescript
-
Typescript añade tipado estático. Se transpila a Javascript.
-
Las propiedades por lo general siempre privadas. Si hay que devolver su valor, mejor a través de un método.
-
Everyday types:
- The primitives: string, number and boolean
- Arrays:
Array<string>
- Any
- Union Type:
let aTextOrNumber: number|string = 5;
- Generic types:
function identity<Type>(arg: Type): Type { return arg; }
-
Interfaz: "el contrato que tenemos que cumplir"
interface Animal {
type: string;
name?: string;
}
class Cat implements Animal {
constructor(public type: string) {}
...
}
class Pokemon {
constructor(private nombre: string) {}
}
/* Encadenamiento opcional u optional chaining (?.)
El operador ?. funciona de manera similar a el operador de encadenamiento .,
excepto que en lugar de causar un error si una referencia es casi-nula (null o undefined),
la expresión hace una evaluación de circuito corto con un valor de retorno de undefined.
Puedes saber más en: https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-7.html#optional-chaining */
const getName = (animal?: Animal) => animal?.name;
"Tell, don't ask"
A una clase le tengo que pedir el nombre (getName()
), no preguntarle por el nombre (this.name
).