中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

TypeScript 1.6有什么功能

發布時間:2021-12-16 10:29:57 來源:億速云 閱讀:110 作者:小新 欄目:大數據

小編給大家分享一下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”作為標志,根據用戶定義來返回布爾值或其他值。該特性不僅允許typeofinstanceof檢查,而且允許接口和定制化的分析。

為了更好的支持不同類型之間的混合以及擴展現有的類,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有什么功能”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

太康县| 和龙市| 翼城县| 双桥区| 肥城市| 武穴市| 太和县| 磐安县| 无极县| 大竹县| 永修县| 岢岚县| 会同县| 玉田县| 万年县| 温泉县| 东平县| 冕宁县| 额敏县| 堆龙德庆县| 尚义县| 扶风县| 吉隆县| 汝阳县| 阳山县| 金沙县| 孝义市| 公主岭市| 荃湾区| 治多县| 竹山县| 宜章县| 临沧市| 益阳市| 昔阳县| 文昌市| 大宁县| 墨脱县| 嘉峪关市| 麦盖提县| 应用必备|