Научете всичко за функциите, които въвежда тази последна версия на TypeScript.
TypeScript, популярният език за програмиране на Microsoft, продължава да впечатлява с последната си версия, TypeScript 5.1. Снабдена с вълнуващи нови функции и подобрения, тази версия обещава да пренесе вашето изживяване с кодиране на ново ниво височини.
Опростени връщания на функции и типове аксесоари
В JavaScript, когато създавате функция и го изпълни, без да срещне израз за връщане, той автоматично връща стойността недефиниран.
TypeScript 5.1 въведе нова функция, която позволява на функциите, връщащи недефинирани, да пропуснат напълно оператора return. Това подобрение подобрява четливостта и стегнатостта на кода.
функцияlogMessage(съобщение: низ): недефиниран{
конзола.log (съобщение);
// Тук не е необходим оператор за връщане
}
Този пример използва функцията logMessage за показване на съобщение на конзолата. Функцията обаче не връща изрично никаква стойност.
TypeScript 5.1 въвежда нова функция, която позволява използването на несвързани типове за гетери и сетери, стига да предоставите изрични анотации на типа.
Това подобрение се оказва много полезно в ситуации, в които трябва да наложите различни типове за достъп и модифициране на свойство.
клас потребител {
частен _име: низ | нула = нула;комплект име (ново име: низ) {
това._име = новоИме;
}
получавам име(): низ {
връщанетова._име?? "неизвестен";
}
}
В този пример потребителският клас има private _име собственост, която може да бъде или a низ или нула. The име сетерът взема низ новоИме и го възлага на _име. Името getter връща стойността на _име ако не е нула, или неизвестен ако е.
Това ви позволява да наложите свойството name да може да бъде зададено само с низ, но когато получавате свойството name, то може да бъде или низ, или неизвестен ако все още не е зададено.
Тази функция позволява по-гъвкави и изразителни дефиниции на типове, както е показано в примера по-долу.
интерфейс CSSStyleRule {
// Винаги се чете като `CSSStyleDeclaration`
получавам style(): CSSStyleDeclaration;
// Тук може да се напише само `низ`.
комплект стил (нова стойност: низ);
}
В примера по-горе свойството style има getter, който връща CSSStyleDeclaration и setter, който приема низ. Тези типове не са свързани, но TypeScript 5.1 позволява този вид дефиниране на тип.
JSX подобрения
TypeScript 5.1 въвежда няколко подобрения за JSX. Вече позволява отделна проверка на типа между JSX елементи и типове тагове JSX, което може да бъде полезно за библиотеки като redux които позволяват на компонентите да връщат повече от JSX елементи.
импортиране * като Реагирайте от"реагира";
асинхроненфункцияAsyncComponent() {
връщанеЗаредено</div>;
}
// Това вече е разрешено:
позволявам елемент = ;
В този пример, AsyncComponent е асинхронна функция, която връща JSX елемент. TypeScript 5.1 ви позволява да използвате този вид функция като JSX компонент, което не беше възможно в предишни версии.
TypeScript 5.1 също въвежда поддръжка за новата JSX трансформация, въведена в React 17. Това ви позволява да използвате JSX, без да импортирате React.
// Преди
импортиране Реагирайте от"реагира";функцияКомпонент() {
връщанеЗдравей, свят!</h1>;
}
// След
функцияКомпонент() {
връщанеЗдравей, свят!</h1>;
}
В горния пример функцията Component връща JSX елемент. В TypeScript 5.1 и React 17 вече не е необходимо да импортирате React, за да използвате JSX.
Повишаване на производителността и значителни промени в TypeScript 5.1
TypeScript 5.1 въвежда няколко оптимизации за подобряване на производителността, включително скорост, памет и оптимизации на размера на пакета, избягване на ненужно инстанциране на тип, отрицателни проверки на регистъра за обединени литерали и намалени извиквания към скенера за JSDoc разбор.
Ето пример за избягване на ненужно инстанциране на типове в типове обекти, за които е известно, че не съдържат препратки към параметри на външен тип, и по-бързи проверки за обединени литерали.
Тип съюз = "а" | "б" | '° С';
функцияпроверка(стойност: Съюз) {
// ...
}
В този пример TypeScript 5.1 може бързо да провери дали дадена стойност е част от типа Union, без да се налага да проверява срещу всеки тип в съюза.
Ето още един пример:
Тип Точка = { x: номер, y: номер };
функцияпревеждам(точка: Точка, dx: номер, dy: номер): Точка{
връщане {x: точка.x + dx, y: точка.y + dy};
}
позволявам p: Точка = { x: 1, y: 2 };
p = превод (p, 1, 1);
В този пример типът Point е тип обект, който не съдържа никакви параметри на типа. Когато извиква функцията за превод, TypeScript 5.1 може да избегне ненужното инстанциране на тип, което може значително да ускори проверката на типа.
Възприемане на TypeScript 5.1
TypeScript 5.1 въвежда набор от мощни функции и оптимизации, които революционизират разработката на JavaScript. От връщане на опростена функция към подобрения на JSX и повишаване на производителността, TypeScript 5.1 ви дава възможност да пишете по-чист, по-изразителен код, като същевременно подобрява проверката на типа и цялостната производителност.
Възприемайки TypeScript 5.1, можете да отключите нови възможности и да издигнете вашите JavaScript проекти до нови висоти на ефективност и иновация. Нека TypeScript 5.1 бъде вашият портал към по-усъвършенствано и рационализирано изживяване при разработка на JavaScript.