中文字幕一区二区人妻电影,亚洲av无码一区二区乱子伦as ,亚洲精品无码永久在线观看,亚洲成aⅴ人片久青草影院按摩,亚洲黑人巨大videos

TypeScript 1.7在此處帶有ES6的默認(rèn)設(shè)置async / await

發(fā)布于:2021-01-31 00:00:40

0

211

0

TypeScript javascript

已經(jīng)發(fā)布了新版本的TypeScript,它對ECMAScript 6(ES6)的異步功能的期待已久的支持。ES3和ES5的未來支持計劃也已經(jīng)到位。TypeScript 1.7還包括這種輸入的多態(tài)性以及一些重大更改。

Microsoft的JavaScript擴(kuò)展TypeScript的最新版本已默認(rèn)為ECMAScript 6(ES6)目標(biāo)啟用了異步/等待。這意味著ES6生成器(例如Node v4及更高版本)現(xiàn)在將能夠調(diào)用異步方法而不會阻塞異步操作的完成。

提供了以下來自GitHub的示例 供參考:

"use strict";   // printDelayed is a 'Promise<void>' async function printDelayed(elements: string[]) {     for (const element of elements) {         await delay(200);         console.log(element);     } }   async function delay(milliseconds: number) {     return new Promise<void>(resolve => {         setTimeout(resolve, milliseconds);     }); }   printDelayed(["Hello", "beautiful", "asynchronous", "world"]).then(() => {     console.log();     console.log("Printed every element!"); });

在查看TypeScript未來版本的路線圖時,該團(tuán)隊還致力于2.0版對ES3和ES5的異步/等待支持。ES6也已添加到該--module標(biāo)志的可用選項列表中,并允許您在定位模塊時指定模塊輸出。

另一個新功能是引入了this用于創(chuàng)建流利風(fēng)格API的多態(tài) 類型。this在描述諸如Ember.js之類的庫時,該類型對于交集類型也很有效,該庫使用混合模式樣式描述繼承:

interface MyType {     extend<T>(other: T): this & T; }

最后但并非最不重要的一點是,微軟團(tuán)隊向ECMAScript委員會透露,最近將求冪運算符提案移到了第三階段,并在1.7版中引入了對運算符**和**=的支持。操作符將在輸出中使用Math.pow被轉(zhuǎn)換為ES3/ES5。

重大變化

至于中斷更改,this 現(xiàn)在將類中值的this類型推斷為該類型。建議用戶添加aa類型注釋,例如下面的示例:

class Fighter {     /** @returns the winner of the fight. */     fight(opponent: Fighter) {         let theVeryBest: Fighter = this;         if (Math.rand() < 0.5) {             theVeryBest = opponent; // no error         }         return theVeryBest     } }

關(guān)鍵字abstract, public, protected和private是ES3中的FutureReservedWords,并且受自動分號插入(ASI)的約束。當(dāng)這些關(guān)鍵字單獨出現(xiàn)時,TypeScript從未使用過插入分號,但是現(xiàn)在,此問題已得到解決。為了避免出現(xiàn)問題,請在定義類成員時刪除關(guān)鍵字后的換行符,并避免依賴ASI。