Аперацыі над данымі ў TypeScript
TypeScript, у адрозненне ад іншых моваў са строгай тыпізацыяй, дазваляе выконваць аперацыі над рознымі тыпамі даных, не пераўтвараючы іх у адзін агульны тып.
Давайце паглядзім на прыкладзе, што маецца на ўвазе. Хай у нас ёсць радковая і лікавая зменныя:
let test1: number = 123;
let test2: string = 'abc';
Давайце выканаем складанне гэтых зменных:
console.log(test1 + test2); // выведзе '123abc'
Гэта значыць можна складаць, напрыклад, радкі і лікі, і гэта не прывядзе да памылкі. Гэта значыць TypeScript сочыць толькі за тым, каб праграміст не змяніў тып даных зменнай.
Для прыкладу ў наступным кодзе мы паспрабуем запісаць радок у лікавую зменную і гэта ўжо прывядзе да памылкі:
let test1: number = 123;
let test2: string = 'abc';
let test3: number;
test3 = test1 + test2; // спрабуем запісаць радок
Не запускаючы код вызначце якім будзе рэзультат выканання кода:
let test1: number = 123;
let test2: number = 456;
console.log(test1 + test2);
Не запускаючы код вызначце якім будзе рэзультат выканання кода:
let test1: string = '123';
let test2: string = '456';
console.log(test1 + test2);
Не запускаючы код вызначце якім будзе рэзультат выканання кода:
let test1: string = '123';
let test2: string = '456';
let test3: number = test1 + test2;
console.log(test3);
Не запускаючы код вызначце якім будзе рэзультат выканання кода:
let test1: number = 123;
let test2: number = 456;
let test3: string = test1 + test2;
console.log(test3);
Не запускаючы код вызначце якім будзе рэзультат выканання кода:
let test1: number = 123;
let test2: number = 456;
let test3: string = test1 + ' ' + test2;
console.log(test3);
Не запускаючы код вызначце якім будзе рэзультат выканання кода:
let test1: number = 123;
let test2: number = 456;
let test3: string = '!';
let test4: string = test1 + test2 + test3;
console.log(test4);
Не запускаючы код вызначце якім будзе рэзультат выканання кода:
let test1: number = '123';
let test2: number = '456';
console.log(test1 + test2);
Не запускаючы код вызначце якім будзе рэзультат выканання кода:
let test1: number = +'123';
let test2: number = +'456';
console.log(test1 + test2);
Не запускаючы код вызначце якім будзе рэзультат выканання кода:
let test: string = '1';
test += 1;
console.log(test);