Declarations
Vamos a ser capaces de asignar las propiedades de un objeto de retorno o de una matriz, directamente a distintas variables.
interface IData{ x: string; y: string; z: string; } function getSomeObject() { return { x: "2", y: "3", z:"4" } } var { x, y, z} = getSomeObject()
Esto seria similar a hacer:
var x = getSomeObject().x var y = getSomeObject().y var z = getSomeObject().z
También podemos asignar un array de respuesta, y asignar valores por defectos en la declaración de nuestras variables.
var [x, y, z = 10] = getSomeArray();
De manera similar podes realizar este estilo de asignaciones en los parámetros de las funciones
function drawText({ text = "", location: [] = [0,2], bold = false }) { } var item = { text: "someText", location: [4], style: "italics" }; drawText(item);
Assignments
TypeScript define tanto módulos internos como externos.
Los módulos externos se utilizan para exportar miembros que sean visibles desde otros módulos.
Los módulos internos, se utilizan como namespaces, y por esa razón la sintaxis cambio un poco, para hacernos la vida menos confusa (Que bien!!)
Antes
module Math { export function add(x, y) { ... } }
Despues
namespace Math { export function add(x, y) { ... } }
for..of support
Ahora podemos realizar iteraciones directamente accediendo a el objeto en lugar de acceder a su indice.
interface IData{ x: string; y: string; z: string; } var data = new Array<IData>(); for (var itemData of data) { var x = itemData.x; var y = itemData.y; }