Operazioni sui dati in TypeScript
TypeScript, a differenza di altri linguaggi con tipizzazione rigorosa, permette di eseguire operazioni su tipi di dati diversi, senza convertirli in un tipo comune.
Diamo un'occhiata a un esempio per capire cosa si intende. Supponiamo di avere una variabile stringa e una numerica:
let test1: number = 123;
let test2: string = 'abc';
Ora eseguiamo l'addizione di queste variabili:
console.log(test1 + test2); // visualizzerà '123abc'
Cioè è possibile sommare, ad esempio, stringhe e numeri, e questo non causerà un errore. TypeScript controlla solo che il programmatore non cambi il tipo di dati della variabile.
Ad esempio, nel codice seguente tenteremo di assegnare una stringa a una variabile numerica e questo causerà un errore:
let test1: number = 123;
let test2: string = 'abc';
let test3: number;
test3 = test1 + test2; // tentiamo di assegnare una stringa
Senza eseguire il codice, determina quale sarà il risultato dell'esecuzione del codice:
let test1: number = 123;
let test2: number = 456;
console.log(test1 + test2);
Senza eseguire il codice, determina quale sarà il risultato dell'esecuzione del codice:
let test1: string = '123';
let test2: string = '456';
console.log(test1 + test2);
Senza eseguire il codice, determina quale sarà il risultato dell'esecuzione del codice:
let test1: string = '123';
let test2: string = '456';
let test3: number = test1 + test2;
console.log(test3);
Senza eseguire il codice, determina quale sarà il risultato dell'esecuzione del codice:
let test1: number = 123;
let test2: number = 456;
let test3: string = test1 + test2;
console.log(test3);
Senza eseguire il codice, determina quale sarà il risultato dell'esecuzione del codice:
let test1: number = 123;
let test2: number = 456;
let test3: string = test1 + ' ' + test2;
console.log(test3);
Senza eseguire il codice, determina quale sarà il risultato dell'esecuzione del codice:
let test1: number = 123;
let test2: number = 456;
let test3: string = '!';
let test4: string = test1 + test2 + test3;
console.log(test4);
Senza eseguire il codice, determina quale sarà il risultato dell'esecuzione del codice:
let test1: number = '123';
let test2: number = '456';
console.log(test1 + test2);
Senza eseguire il codice, determina quale sarà il risultato dell'esecuzione del codice:
let test1: number = +'123';
let test2: number = +'456';
console.log(test1 + test2);
Senza eseguire il codice, determina quale sarà il risultato dell'esecuzione del codice:
let test: string = '1';
test += 1;
console.log(test);