Iminumungkahi ng Microsoft, Igalia at Bloomberg na magsama ng syntax para sa kahulugan sa JS 

Microsoft, Igalia at Bloomberg Inanunsyo nila ito ilang araw na ang nakakaraan nagsagawa ng inisyatiba na magsama ng syntax para sa tahasang uri ng kahulugan sa detalye JavaScript, katulad ng syntax na ginamit sa TypeScript na wika.

Sa kasalukuyan, ang mga pagbabago sa prototype na iminungkahi para sa pagsasama sa pamantayan ng ECMAScript ay naisumite na para sa mga paunang talakayan (Stage 0).

Ngayon kami ay nalulugod na ipahayag ang aming suporta at pakikipagtulungan sa isang bagong Stage 0 na panukala upang dalhin ang opsyonal at nabubura na uri ng syntax sa JavaScript. Dahil hindi babaguhin ng bagong syntax na ito ang paraan ng pagpapatupad ng nakapaligid na code, epektibo silang kumikilos tulad ng mga komento. Sa tingin namin ito ay may potensyal na gawing mas madali at mas mabilis ang TypeScript na gamitin para sa pag-unlad sa lahat ng antas. Nais naming pag-usapan kung bakit namin ito hinahabol at kung paano gumagana ang panukalang ito sa isang mataas na antas.

Nabanggit na sa tAng pagkakaroon ng tahasang uri ng impormasyon ay maiiwasan ang maraming pagkakamali sa proseso ng pag-unlad, magbibigay ito ng pagkakataong gumamit ng mga karagdagang diskarte sa pag-optimize, pasimplehin ang pag-debug, at gawing mas nababasa at mas madali para sa mga third-party na developer na baguhin at panatilihin.

Bukod doon iminungkahi na ipatupad ang uri ng suporta bilang isang opsyonal na function: Ang mga engine at runtime ng JavaScript na hindi sumusuporta sa pagsuri ng uri ay babalewalain ang mga anotasyon na may impormasyon ng uri at ipoproseso ang code tulad ng dati, na tinatanggap ang data ng uri bilang mga komento. Ngunit magagawa ng mga tool sa pagsuri ng uri, batay sa magagamit na impormasyon, na makakita ng mga error na nauugnay sa maling paggamit ng mga uri.

Likuran
Ang isang kamakailang trend na nakita ng aming koponan sa mundo ng JavaScript ay ang pangangailangan para sa mas mabilis na oras ng pag-ulit at pinababang mga hakbang sa pagbuo. Sa madaling salita, "gawin itong mas mabilis at mas simple".

Sa isang paraan, ito ay nangyayari na. Salamat sa tagumpay ng mga evergreen na browser, madalas na maiiwasan ng mga developer ang pag-compile ng mga mas bagong bersyon ng JavaScript upang tumakbo sa mga mas lumang runtime. Sa ilang lawak, ganoon din ang pag-bundle: karamihan sa mga browser ay may built-in na suporta para sa paggamit ng mga module, kaya ang pag-bundle ay makikita bilang isang hakbang sa pag-optimize kaysa sa isang pangangailangan. Ito ay lalong naging kaso, kaya paano gumagana ang TypeScript?

Kasabay nito, hindi tulad ng tinukoy na uri ng impormasyon sa pamamagitan ng mga anotasyon ng JSDoc na tinukoy bilang mga komento, ang direktang pagtutukoy ng mga uri nang direkta sa mga konstruksyon ng variable na kahulugan gagawin nitong mas visual, naiintindihan at mas madaling i-edit ang code.

Halimbawa, ang mga TypeScript-enabled na IDE ay makakapag-highlight kaagad ng mga error sa nakasulat na JavaScript code nang walang karagdagang pagbabago. Bukod pa rito, gagawing posible ng built-in na suporta sa uri na magpatakbo ng mga program na nakasulat sa mga scripted JavaScript na dialect tulad ng TypeScript at Flow nang hindi naglilipat mula sa isang wika patungo sa isa pa.

Sa mga uri, iminungkahi na magdagdag ng "string", "number" at "boolean", na maaaring gamitin kapag tinutukoy ang mga variable, mga parameter ng function, elemento ng object, mga field ng klase, mga na-type na array ("number[]"). Iminungkahi din na magbigay ng suporta para sa magkahalong uri ("string | number") at generics.

Dahil sa lahat ng ito, plano naming iharap ang panukalang ito para sa Stage 1 sa susunod na pulong ng plenaryo ng TC2022 ng Marso 39. Gagawin namin ito sa suporta at gabay ng aming mga co-champions ng panukalang ito, sina Rob Palmer sa Bloomberg at Romulo Cintra sa Igalia.

Ang pag-abot sa Stage 1 ay nangangahulugan na ang komite ng mga pamantayan ay naniniwala na ang katugmang uri ng syntax para sa ECMAScript ay nagkakahalaga ng pagsasaalang-alang. Ito ay hindi isang tiyak na bagay: mayroong maraming mahahalagang pananaw sa loob ng komite, at inaasahan namin ang isang tiyak na halaga ng pag-aalinlangan. Ang panukalang tulad nito ay makakatanggap ng maraming komento at tamang pagsusuri. Maaari itong magsasangkot ng maraming pagbabago sa disenyo habang tumatagal, at maaaring tumagal ng mga taon upang makakuha ng mga resulta.

sa susunod na pagpupulong ng Marso ng komite ng TC39, ito ay binalak na lumipat sa unang yugto pagsasaalang-alang sa panukala na may partisipasyon ng komunidad ng dalubhasa sa ECMA.

Sa wakas Kung interesado kang malaman ang tungkol dito, maaari mong suriin ang mga detalye sa sumusunod na link.


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.