您好,登錄后才能下訂單哦!
小編給大家分享一下TypeScript 1.6有什么功能,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
微軟推出了一個能夠在Node.js上運行的開源語言——TypeScript。作為JavaScript的超集,TypeScript在兼容JavaScript的同時,額外添加了可選的靜態類型和基于類的面向對象編程,并且可用于大規模JavaScript應用的開發。TypeScript一經推出便受到了廣泛關注,也逐漸被很多用戶所接受。微軟公司也聽取廣大用戶的反饋,不斷更新TypeScript。近日,微軟再次更新TypeScript,推出了1.6版本。該版本添加了對React/JSX、類表達式以及很多新功能的支持。
首先,微軟的TypeScript團隊充分聽取了來自React專家和團隊的反饋意見。因此,新版本的TypeScript完全支持React和JSX。MSDN給出了一個tsx類型的文檔作為示例。該文檔中的代碼如下所示。
class MyClass extends React.Component{ render() {Hello, {this.props.who}; } props: { who?: string; } } var x =;
該例子中TypeScript代碼和JSX語法完美共存,使得React開發人員可以方便的使用TypeScript語言。這樣,用戶在使用VS、VS Code或者Sublime的時候,就可以進行React和JSX的開發。
此外,新版本TypeScript添加了對類表達式的支持。如下例所示,該特性使得開發人員可以在使用表達式的時候再根據需求進行類的定義。
class StateHandler extends class { reset() { return true; } } { constructor() { super(); } } var g = new StateHandler(); g.reset();
在之前的版本中,開發人員可以使用 if 語句來縮小變量的類型。新版本的TypeScript考慮到廣大用戶的需求,直接增加了用戶自定義守護函數的支持。
interface Animal {name: string; } interface Cat extends Animal { meow(); } function isCat(a: Animal): a is Cat { return a.name === 'kitty'; } var x: Animal; if(isCat(x)) { x.meow(); // OK, x is Cat in this block }
守護函數采用“a is X”作為標志,根據用戶定義來返回布爾值或其他值。該特性不僅允許typeof
和instanceof
檢查,而且允許接口和定制化的分析。
為了更好的支持不同類型之間的混合以及擴展現有的類,TypeScript 1.6版本還添加了新的類型操作符‘&’。該操作符最大的亮點在于對泛型的支持。
function extend(first: T, second: U): T & U { let result ={}; for (let id in first) { result[id] = first[id]; } for (let id in second) { if (!result.hasOwnProperty(id)) { result[id] = second[id]; } } return result; } var x = extend({ a: "hello" }, { b: 42 }); x.a; // works x.b; // works
之前,很多用戶已經希望TypeScript能夠支持抽象類。現在,新的版本終于添加了對抽象類的支持。
abstract class A { foo(): number { return this.bar(); } abstract bar(): number; } var a = new A(); // error, Cannot create an instance of the abstract class 'A' class B extends A { bar() { return 1; } } var b = new b(); // success, all abstracts are defined
類別名也是之前版本的TypeScript已經支持的功能。但是,之前的類別名被嚴格限制了使用范圍——只能用于確定的類。新版本TypeScript擴展了該功能,開始支持了泛型別名。
type switcharoo= (u: U, t:T)=>T; var f: switcharoo; f("bob", 4);
以上是“TypeScript 1.6有什么功能”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。