Inapendekezwa kuongeza sintaksia yenye maelezo ya aina kwenye lugha ya JavaScript

Microsoft, Igalia, na Bloomberg zimechukua hatua ya kujumuisha sintaksia katika vipimo vya JavaScript kwa ufafanuzi wa aina dhahiri, sawa na sintaksia inayotumika katika lugha ya TypeScript. Kwa sasa, mabadiliko ya mfano yanayopendekezwa kujumuishwa katika kiwango cha ECMAScript yanawasilishwa kwa majadiliano ya awali (Hatua ya 0). Katika mkutano ujao wa kamati ya TC39 mwezi Machi, imepangwa kuhamia hatua ya kwanza ya kuzingatia pendekezo kwa ushiriki wa jumuiya ya wataalam kutoka ECMA.

Ukiwa na maelezo ya aina iliyobainishwa kwa uwazi kutakuruhusu kuepuka hitilafu nyingi wakati wa mchakato wa utayarishaji, kuwezesha kutumia mbinu za uboreshaji zaidi, kurahisisha utatuzi, na kufanya msimbo kusomeka zaidi na rahisi kwa marekebisho na usaidizi wa wasanidi programu wengine. Usaidizi wa aina unapendekezwa kutekelezwa kama kipengele cha hiari - injini za JavaScript na nyakati za uendeshaji ambazo hazitumii ukaguzi wa aina zitapuuza ufafanuzi na maelezo ya aina na kuchakata msimbo kama hapo awali, ikichukulia data ya aina kama maoni. Lakini zana za kukagua aina zitaweza kutumia taarifa zilizopo ili kutambua makosa yanayohusiana na matumizi yasiyo sahihi ya aina.

Zaidi ya hayo, tofauti na maelezo ya aina iliyobainishwa kwa kutumia maelezo ya JSDoc yaliyoainishwa katika mfumo wa maoni, onyesho la moja kwa moja la aina moja kwa moja katika miundo ya ufafanuzi tofauti itafanya msimbo uonekane zaidi, ueleweke na rahisi kuhaririwa. Kwa mfano, IDE zilizo na usaidizi wa TypeScript zitaweza kuangazia mara moja hitilafu katika msimbo wa JavaScript ulioandikwa bila mabadiliko ya ziada. Kwa kuongezea, usaidizi wa aina iliyojengewa ndani utafanya iwezekane kuendesha programu zilizoandikwa kwa lahaja za JavaScript zilizochapwa, kama vile TypeScript na Flow, bila kuhamisha kutoka lugha moja hadi nyingine.

Inapendekezwa kuongeza sintaksia yenye maelezo ya aina kwenye lugha ya JavaScript

Miongoni mwa aina, inapendekezwa kuongeza "kamba", "nambari" na "boolean", ambayo inaweza kutumika wakati wa kufafanua vigezo, vigezo vya kazi, vipengele vya kitu, mashamba ya darasa, safu zilizopigwa ("nambari[]"). Pia inapendekezwa kutoa usaidizi kwa aina zilizounganishwa (β€œkamba | nambari”) na jenetiki. acha x: kamba; ongeza kazi (a: nambari, b: nambari) {rudisha + b; } kiolesura Mtu {jina: kamba; umri: nambari; } kitendakazi foo (x: T) {rejesha x; } chaguo la kukokotoa foo(x: kamba | nambari): kamba | nambari { if (typeof x === number) { return x + 1 } kingine { return x + "!" }}

Chanzo: opennet.ru

Kuongeza maoni