Andmete operatsioonid TypeScriptis

TypeScript, erinevalt teistest rangete tüüpidega keeltest, võimaldab teha operatsioone erinevate andmetüüpidega, ilma et need teisendataks ühte ühisse tüüpi.

Vaatame näite abil, mida selle all mõeldakse. Olgu meil stringi ja arvuline muutuja:

typescriptlet test1: number = 123;
let test2: string = 'abc';

Proovime neid muutujaid liita:

typescriptconsole.log(test1 + test2); // väljastab '123abc'

See tähendab, et näiteks stringe ja numbreid saab liita, ja see ei põhjusta viga. See tähendab, et TypeScript jälgib ainult seda, et programmeerija ei muudaks muutuja andmetüüpi.

Näiteks järgmises koodis proovime panna stringi arvulisse muutujasse ja see põhjustab juba vea:

typescriptlet test1: number = 123;
let test2: string = 'abc';
let test3: number;

test3 = test1 + test2; // proovime panna stringi
Задание 1

Koodi käivitamata määrake, milline on koodi täitmise tulemus:

typescriptlet test1: number = 123;
let test2: number = 456;

console.log(test1 + test2);
Задание 2

Koodi käivitamata määrake, milline on koodi täitmise tulemus:

typescriptlet test1: string = '123';
let test2: string = '456';

console.log(test1 + test2);
Задание 3

Koodi käivitamata määrake, milline on koodi täitmise tulemus:

typescriptlet test1: string = '123';
let test2: string = '456';

let test3: number = test1 + test2;
console.log(test3);
Задание 4

Koodi käivitamata määrake, milline on koodi täitmise tulemus:

typescriptlet test1: number = 123;
let test2: number = 456;

let test3: string = test1 + test2;
console.log(test3);
Задание 5

Koodi käivitamata määrake, milline on koodi täitmise tulemus:

typescriptlet test1: number = 123;
let test2: number = 456;

let test3: string = test1 + ' ' + test2;
console.log(test3);
Задание 6

Koodi käivitamata määrake, milline on koodi täitmise tulemus:

typescriptlet test1: number = 123;
let test2: number = 456;
let test3: string = '!';

let test4: string = test1 + test2 + test3;
console.log(test4);
Задание 7

Koodi käivitamata määrake, milline on koodi täitmise tulemus:

typescriptlet test1: number = '123';
let test2: number = '456';

console.log(test1 + test2);
Задание 8

Koodi käivitamata määrake, milline on koodi täitmise tulemus:

typescriptlet test1: number = +'123';
let test2: number = +'456';

console.log(test1 + test2);
Задание 9

Koodi käivitamata määrake, milline on koodi täitmise tulemus:

typescriptlet test: string = '1';
test += 1;

console.log(test);