Operaciones con datos en TypeScript
TypeScript, a diferencia de otros lenguajes con tipado estricto, permite realizar operaciones con diferentes tipos de datos, sin convertirlos a un tipo común.
Veamos con un ejemplo a qué nos referimos. Supongamos que tenemos una variable string y una numérica:
let test1: number = 123;
let test2: string = 'abc';
Realicemos la suma de estas variables:
console.log(test1 + test2); // mostrará '123abc'
Es decir, se pueden sumar, por ejemplo, strings y números, y esto no producirá un error. Es decir, TypeScript solo se asegura de que el programador no cambie el tipo de dato de la variable.
Como ejemplo, en el siguiente código intentaremos asignar un string a una variable numérica y esto sí producirá un error:
let test1: number = 123;
let test2: string = 'abc';
let test3: number;
test3 = test1 + test2; // intentamos asignar un string
Sin ejecutar el código, determine cuál será el resultado de ejecutar el código:
let test1: number = 123;
let test2: number = 456;
console.log(test1 + test2);
Sin ejecutar el código, determine cuál será el resultado de ejecutar el código:
let test1: string = '123';
let test2: string = '456';
console.log(test1 + test2);
Sin ejecutar el código, determine cuál será el resultado de ejecutar el código:
let test1: string = '123';
let test2: string = '456';
let test3: number = test1 + test2;
console.log(test3);
Sin ejecutar el código, determine cuál será el resultado de ejecutar el código:
let test1: number = 123;
let test2: number = 456;
let test3: string = test1 + test2;
console.log(test3);
Sin ejecutar el código, determine cuál será el resultado de ejecutar el código:
let test1: number = 123;
let test2: number = 456;
let test3: string = test1 + ' ' + test2;
console.log(test3);
Sin ejecutar el código, determine cuál será el resultado de ejecutar el código:
let test1: number = 123;
let test2: number = 456;
let test3: string = '!';
let test4: string = test1 + test2 + test3;
console.log(test4);
Sin ejecutar el código, determine cuál será el resultado de ejecutar el código:
let test1: number = '123';
let test2: number = '456';
console.log(test1 + test2);
Sin ejecutar el código, determine cuál será el resultado de ejecutar el código:
let test1: number = +'123';
let test2: number = +'456';
console.log(test1 + test2);
Sin ejecutar el código, determine cuál será el resultado de ejecutar el código:
let test: string = '1';
test += 1;
console.log(test);