JavaScript тилине тип маалыматы менен синтаксис кошуу сунушталууда

Microsoft, Igalia жана Bloomberg синтаксисин TypeScript тилинде колдонулган синтаксиске окшош типтин ачык-айкын аныктамалары үчүн JavaScript спецификациясына киргизүү демилгесин көтөрүштү. Учурда ECMAScript стандартына киргизүү үчүн сунушталган прототиптик өзгөртүүлөр алдын ала талкууга сунушталууда (0-этап). Март айында TC39 комитетинин кийинки отурумунда ECMAнын эксперттик коомчулугун тартуу менен сунушту кароонун биринчи этабына өтүү пландаштырылууда.

Ачык көрсөтүлгөн типтеги маалымат иштеп чыгуу процессинде көптөгөн каталарды болтурбоого, кошумча оптималдаштыруу ыкмаларын колдонууга, мүчүлүштүктөрдү оңдоону жөнөкөйлөштүрүүгө жана кодду окууга ыңгайлуу жана үчүнчү тараптын иштеп чыгуучулары тарабынан модификациялоо жана колдоо үчүн жеңил кылууга мүмкүндүк берет. Типти колдоону кошумча функция катары ишке ашыруу сунушталат - типти текшерүүнү колдобогон JavaScript кыймылдаткычтары жана иштөө убакыттары тип маалыматы менен аннотацияларды этибарга албай, кодду мурункудай иштетип, типтеги маалыматтарды комментарий катары карашат. Бирок типти текшерүү куралдары типтерди туура эмес колдонуу менен байланышкан каталарды аныктоо үчүн колдо болгон маалыматты колдоно алат.

Мындан тышкары, комментарий түрүндө көрсөтүлгөн JSDoc аннотацияларын колдонуу менен көрсөтүлгөн типтеги маалыматтан айырмаланып, түрлөрдүн түздөн-түз өзгөрмөлүү аныктама конструкцияларында түздөн-түз көрсөтүлүшү кодду визуалдык, түшүнүктүү жана оңдоону жеңилдетет. Мисалы, TypeScript колдоосу менен IDEлер кошумча конверсияларсыз терилген JavaScript кодундагы каталарды дароо баса алат. Мындан тышкары, орнотулган типти колдоо TypeScript жана Flow сыяктуу терилген JavaScript диалектилеринде жазылган программаларды бир тилден экинчи тилге өткөрбөй иштетүүгө мүмкүндүк берет.

JavaScript тилине тип маалыматы менен синтаксис кошуу сунушталууда

Түрлөрдүн арасында өзгөрмөлөрдү, функциянын параметрлерин, объекттин элементтерин, класс талааларын, терилген массивдерди («сан[]») аныктоодо колдонула турган «сап», «сан» жана «логикалык» кошуу сунушталат. Ошондой эле бириктирилген типтерге («сап | саны») жана генериктерге колдоо көрсөтүү сунушталат. let x: сап; function add(a: number, b: number) { return a + b; } interface Person { name: string; жашы:саны; } функциясы foo (x: T) { return x; } функциясы foo(x: сап | саны): сап | number { if (typeof x === number) { return x + 1 } else { return x + "!" } }

Source: opennet.ru

DDoS коргоосу, VPS VDS серверлери бар сайттар үчүн ишенимдүү хостинг сатып алыңыз 🔥 DDoS коргоосу, VPS VDS серверлери бар ишенимдүү веб-сайт хостингин сатып алыңыз | ProHoster