Сазнајте све о функцијама које ова најновија верзија ТипеСцрипт-а уводи.

ТипеСцрипт, Мицрософтов популарни програмски језик, наставља да импресионира својим најновијим издањем, ТипеСцрипт 5.1. Препуна узбудљивих нових функција и побољшања, ова верзија обећава да ће ваше искуство кодирања учинити новим висине.

Поједностављени поврати функције и типови приступа

У ЈаваСцрипт-у, када креирате функцију и изврши га без сусрета са повратном наредбом, он аутоматски враћа вредност недефинисан.

ТипеСцрипт 5.1 је увео нову функцију која омогућава функцијама које враћају недефинисане да у потпуности изоставе израз ретурн. Ово побољшање побољшава читљивост и сажетост кода.

функцијалогМессаге(порука: низ): недефинисан{
конзола.лог (порука);
// Овде није потребна повратна изјава
}

Овај пример користи функцију логМессаге да прикажете поруку на конзоли. Међутим, функција не враћа експлицитно никакву вредност.

ТипеСцрипт 5.1 уводи нову функцију која дозвољава употребу неповезаних типова за геттере и сетере, све док дате експлицитне напомене типа.

instagram viewer

Ово побољшање се показало веома корисним у ситуацијама када морате да примените различите типове за приступ и модификовање својства.

класа Корисник {
приватни _наме: низ | нула = нула;

комплет име (новоИме: низ) {
ово._наме = новоНаме;
}

добити име(): низ {
повратаково._наме?? 'Непознат';
}
}

У овом примеру, класа Усер има приватно _наме својство које може бити или а низ или нула. Тхе име сетер узима низ ново име и додељује га _наме. Добављач имена враћа вредност _наме ако није нула, или Непознат ако је.

Ово вам омогућава да примените да се својство наме може подесити само низом, али када добијете својство наме, то може бити или низ или Непознат ако још није постављено.

Ова функција омогућава флексибилније и изражајније дефиниције типа као што је приказано у примеру испод.

интерфејс ЦСССтилеРуле {
// Увек се чита као `ЦСССтилеДецларатион`
добити стиле(): ЦСССтилеДецларатион;

// Овде се може написати само `стринг`.
комплет стил (нова вредност: низ);
}

У горњем примеру, својство стила има геттер који враћа ЦСССтилеДецларатион и сеттер који прихвата стринг. Ови типови нису повезани, али ТипеСцрипт 5.1 дозвољава ову врсту дефиниције типа.

ЈСКС Енханцементс

ТипеСцрипт 5.1 уводи неколико побољшања за ЈСКС. Сада омогућава одвојену проверу типа између ЈСКС елемената и типова ЈСКС ознака, што може бити корисно за библиотеке као што је редук који омогућавају компонентама да врате више од само ЈСКС елемената.

увоз * као Реаговати из"реаговати";

асинцфункцијаАсинцЦомпонент() {
повратак

Лоадед</div>;
}

// Ово је сада дозвољено:
дозволити елемент = ;

У овом примеру, АсинцЦомпонент функција је асинхрона функција која враћа ЈСКС елемент. ТипеСцрипт 5.1 вам омогућава да користите ову врсту функције као ЈСКС компоненту, што није било могуће у претходним верзијама.

ТипеСцрипт 5.1 такође уводи подршку за нову ЈСКС трансформацију уведену у Реацт 17. Ово вам омогућава да користите ЈСКС без увоза Реацт-а.

// Пре него што
увоз Реаговати из"реаговати";

функцијаСаставни део() {
повратак

Здраво, свет!</h1>;
}

// После
функцијаСаставни део() {
повратак

Здраво, свет!</h1>;
}

У горњем примеру, функција Цомпонент враћа ЈСКС елемент. У ТипеСцрипт 5.1 и Реацт 17, више не морате да увозите Реацт да бисте користили ЈСКС.

Побољшања перформанси и значајне промене у ТипеСцрипт-у 5.1

ТипеСцрипт 5.1 уводи неколико оптимизација за побољшање перформанси, укључујући оптимизацију брзине, меморије и величине пакета, избегавање непотребног инстанцирања типа, негативне провере великих и малих слова за литерале уније и смањених позива у скенер за ЈСДоц рашчлањивање.

Ево примера избегавања непотребног инстанцирања типа унутар типова објеката за које се зна да не садрже референце на параметре спољашњег типа и брже провере литерала уније.

тип Унион = 'а' | 'б' | 'ц';

функцијапроверавати(вредност: Унија) {
// ...
}

У овом примеру, ТипеСцрипт 5.1 може брзо да провери да ли је вредност део типа уније без потребе да проверава сваки тип у унији.

Ево још једног примера:

тип Тачка = { к: број, и: број };

функцијапревести(тачка: тачка, дк: број, ди: број): Тачка{
повратак { к: тачка.к + дк, и: тачка.и + ди };
}

дозволити п: Тачка = { к: 1, и: 2 };
п = превести (п, 1, 1);

У овом примеру, тип тачке је тип објекта који не садржи никакве параметре типа. Када позове функцију превођења, ТипеСцрипт 5.1 може да избегне непотребно инстанцирање типа, што може значајно да убрза проверу типа.

Прихватање ТипеСцрипт-а 5.1

ТипеСцрипт 5.1 уводи низ моћних функција и оптимизација које револуционишу развој ЈаваСцрипт-а. Од поједностављених враћања функција до побољшања ЈСКС-а и повећања перформанси, ТипеСцрипт 5.1 вам омогућава да пишете чистији, изражајнији код уз побољшање провере типа и укупне перформансе.

Прихватајући ТипеСцрипт 5.1, можете откључати нове могућности и подићи своје ЈаваСцрипт пројекте на нове висине ефикасности и иновација. Нека ТипеСцрипт 5.1 буде ваша капија за напредније и поједностављено искуство развоја ЈаваСцрипт-а.