Операции над данными в TypeScript

TypeScript, в отличие от других языков со строгой типизацией, позволяет выполнять операции над разными типами данных, не преобразуя их в один общий тип.

Давайте посмотрим на примере, что имеется ввиду. Пусть у нас есть строковая и числовая переменные:

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

Давайте выполним сложение этих переменных:

typescriptconsole.log(test1 + test2); // выведет '123abc'

To есть можно складывать, например, строки и числа, и это не приведет к ошибке. To есть TypeScript следит только за тем, чтобы программист не изменил тип данных переменной.

Для примера в следующем коде мы попытаемся записать строку в числовую переменную и это уже приведет к ошибке:

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

test3 = test1 + test2; // пытаемся записать строку
Задание 1

Не запуская код определите каким будет результат выполнения кода:

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

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

Не запуская код определите каким будет результат выполнения кода:

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

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

Не запуская код определите каким будет результат выполнения кода:

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

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

Не запуская код определите каким будет результат выполнения кода:

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

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

Не запуская код определите каким будет результат выполнения кода:

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

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

Не запуская код определите каким будет результат выполнения кода:

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

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

Не запуская код определите каким будет результат выполнения кода:

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

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

Не запуская код определите каким будет результат выполнения кода:

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

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

Не запуская код определите каким будет результат выполнения кода:

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

console.log(test);