成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

TypeScript1.6有什么功能

小編給大家分享一下TypeScript 1.6有什么功能,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

成都創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都做網(wǎng)站、成都網(wǎng)站設(shè)計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的喀什網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

微軟推出了一個能夠在Node.js上運(yùn)行的開源語言——TypeScript。作為JavaScript的超集,TypeScript在兼容JavaScript的同時,額外添加了可選的靜態(tài)類型和基于類的面向?qū)ο缶幊?,并且可用于大?guī)模JavaScript應(yīng)用的開發(fā)。TypeScript一經(jīng)推出便受到了廣泛關(guān)注,也逐漸被很多用戶所接受。微軟公司也聽取廣大用戶的反饋,不斷更新TypeScript。近日,微軟再次更新TypeScript,推出了1.6版本。該版本添加了對React/JSX、類表達(dá)式以及很多新功能的支持。

首先,微軟的TypeScript團(tuán)隊充分聽取了來自React專家和團(tuán)隊的反饋意見。因此,新版本的TypeScript完全支持React和JSX。MSDN給出了一個tsx類型的文檔作為示例。該文檔中的代碼如下所示。

class MyClass extends React.Component{
    render() {Hello, {this.props.who}; }
    props: {
        who?: string;
    } }

var x =;

該例子中TypeScript代碼和JSX語法完美共存,使得React開發(fā)人員可以方便的使用TypeScript語言。這樣,用戶在使用VS、VS Code或者Sublime的時候,就可以進(jìn)行React和JSX的開發(fā)。

此外,新版本TypeScript添加了對類表達(dá)式的支持。如下例所示,該特性使得開發(fā)人員可以在使用表達(dá)式的時候再根據(jù)需求進(jìn)行類的定義。

class StateHandler extends class { reset() { return true; } } {
   constructor() {
     super();
   }
}

var g = new StateHandler();
g.reset();

在之前的版本中,開發(fā)人員可以使用 if 語句來縮小變量的類型。新版本的TypeScript考慮到廣大用戶的需求,直接增加了用戶自定義守護(hù)函數(shù)的支持。

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
}

守護(hù)函數(shù)采用“a is X”作為標(biāo)志,根據(jù)用戶定義來返回布爾值或其他值。該特性不僅允許typeofinstanceof檢查,而且允許接口和定制化的分析。

為了更好的支持不同類型之間的混合以及擴(kuò)展現(xiàn)有的類,TypeScript 1.6版本還添加了新的類型操作符‘&’。該操作符最大的亮點(diǎn)在于對泛型的支持。

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

之前,很多用戶已經(jīng)希望TypeScript能夠支持抽象類?,F(xiàn)在,新的版本終于添加了對抽象類的支持。

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已經(jīng)支持的功能。但是,之前的類別名被嚴(yán)格限制了使用范圍——只能用于確定的類。新版本TypeScript擴(kuò)展了該功能,開始支持了泛型別名。

type switcharoo= (u: U, t:T)=>T;
var f: switcharoo;
f("bob", 4);

以上是“TypeScript 1.6有什么功能”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

分享題目:TypeScript1.6有什么功能
地址分享:http://jinyejixie.com/article22/iisdjc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)外貿(mào)建站、虛擬主機(jī)搜索引擎優(yōu)化、ChatGPT、網(wǎng)站改版

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)
宝兴县| 同仁县| 革吉县| 南溪县| 分宜县| 松溪县| 桂东县| 光山县| 扶绥县| 莱西市| 尉氏县| 普兰店市| 河曲县| 阿鲁科尔沁旗| 蓝山县| 金门县| 孟村| 湘乡市| 平阳县| 阜新| 台前县| 景泰县| 日照市| 贵定县| 容城县| 鄢陵县| 中方县| 华阴市| 西吉县| 崇礼县| 武乡县| 抚松县| 磐安县| 阳原县| 宝清县| 佛学| 沧源| 庄浪县| 威远县| 垦利县| 油尖旺区|