精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

微軟發布TypeScript 2.0 RC版本

責任編輯:editor006

作者:James Chesters

2016-09-09 16:20:41

摘自:INFOQ

微軟釋放了TypeScript 2 0的發布候選版本,包含了tagged union功能以及對globs的支持。——譯注)  這個發布版本還支持globs,進一步擴展了TypeScript 1 6的exclude域。

微軟釋放了TypeScript 2.0的發布候選版本,包含了tagged union功能以及對globs的支持。

在微軟博客的聲明中,TypeScript的項目主管Daniel Rosenwasser這樣說到:

“這個RC版本能夠幫助我們了解完整的2.0版本會是什么樣子,我們正在尋求廣泛的反饋,使其更加穩定,從而讓2.0成為一個可靠的發布版本。整體而言,對于通常的使用來說,這個RC版本足夠穩定,從這個時間點開始,我們不會再添加重要的新特性了。”

其實,從2.0 beta版本發布到現在,有很多新內容添加了進來。

在TypeScript的發布候選版本中,最重要的更新之一就是tagged union。

Rosenwasser說到,“借助tagged union功能,我們能夠按照現在編寫JavaScript的模式,更加容易地實現類型安全性”。在這個領域,JavaScript可能已經落后于像F#、Swift和Rust這樣的語言,通過tagged union,TypeScript能夠基于kind域來識別類型,如下所示:

function getArea(shape: Shape) { switch (shape.kind) { case "circle": //從'Shape'轉換為'Circle' let c = shape as Circle; return Math.PI * c.radius ** 2; case "square": //從'Shape'轉換為'Square' let sq = shape as Square; return sq.sideLength ** 2; }}

該特性是針對TypeScript 1.8的功能增強,在1.8版本中需要對shape中的每個類型進行類型斷言。(以上的樣例是針對1.8版本的,針對2.0版本的完整樣例可以參考微軟的發布聲明。——譯注)

這個發布版本還支持globs,進一步擴展了TypeScript 1.6的exclude域。TypeScript 2.0允許開發人員為路徑編寫通配符,Rossenwasser說這可以是任意粒度的,它們可以用在新增的include域上,也可以用在已有的exclude域中,如下所示:

{ "include": [ "./src/**/*.ts" ], "exclude": [ "./src/tests/**" ]}

TypeScript 2.0發布候選版本需要使用Microsoft Visual Studio 2015 Update 3,這個版本解決了多項有較大影響的bug,包括“在調試Visual C++或CLI代碼時,提升了調試的穩定性”,另外,還解決了“在std::min/std::max這樣代碼調用函數中,針對浮點值使用時,可能會出現的錯誤編譯(miscompilation)問題。”

開發社區對這個RC版本總體上是很樂觀的。在Reddit上,Vheissu_這樣說到,“對TypeScript而言,這是一個巨大的飛躍。現在,已經不可能回到簡單原始的ECMAScript上了。”

用戶cspotcode問了這樣一個問題:

lib.dom.d.ts的Node.nodeType域會升級到discriminated unions嗎?這會不會讓當前的類型變得太混亂?看上去,如果Node.nodeType依然是一個number的話,那么Element.nodeType就不能是數字的字面量,因為這會違背Element擴展Node這一前提。Node應該需要重寫,使其成為一個union類型,而不是接口。

Rossenwasser這樣進行了答復:

這是完全有可能的——你可以將所有返回Node的地方都想象為返回新的類型,這個新類型代表了一個union。目前,對我來言,擴展Node的語義是什么尚不清晰,但是如果你有什么想法的話,我們會認真傾聽!你盡可以對此開一個issue。

當問及開發人員何時可以等到2.0的最終版時,Rossenwasser大致估算為“幾周之后“,但是他又說不要嚴格以此為準。

查看英文原文:Microsoft Releases TypeScript 2.0 RC

鏈接已復制,快去分享吧

企業網版權所有?2010-2024 京ICP備09108050號-6京公網安備 11010502049343號

  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 金湖县| 武威市| 合山市| 福州市| 凌云县| 开封市| 陇南市| 山西省| 宝坻区| 房山区| 宜兰县| 镇巴县| 罗甸县| 柘荣县| 邢台县| 临湘市| 松溪县| 延安市| 紫金县| 浦城县| 东乡族自治县| 黄浦区| 库车县| 德州市| 格尔木市| 宜都市| 揭西县| 辽阳市| 永安市| 长泰县| 屯昌县| 大安市| 阆中市| 饶平县| 玉门市| 开封市| 秦安县| 邯郸市| 浙江省| 枞阳县| 青川县|