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

TypeScript2.1有什么新特性

小編給大家分享一下TypeScript 2.1有什么新特性,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

公司主營業(yè)務(wù):成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)公司推出定日免費(fèi)做網(wǎng)站回饋大家。

TypeScript是微軟開發(fā)的一個JavaScript的超集,提供了最新的JavaScript特性以及可選的靜態(tài)類型。近日,TypeScript 2.1發(fā)布。該版本提供了功能更為強(qiáng)大的類型檢查器,并且讓開發(fā)人員可以編寫出更簡潔的代碼。以下是該版本帶來的主要新特性:

  • Downlevel async/await:雖然之前的版本已經(jīng)提供了async/await,但downlevel async/await讓開發(fā)人員可以在ES3/ES5環(huán)境里使用該特性。

  • Object Rest&Spread:這是ES2017的一項(xiàng)新提案,讓開發(fā)人員可以便捷地合并、拆解以及部分地復(fù)制對象。在使用類似Redux這樣的庫時,這一特性已經(jīng)被廣泛地使用。Object Spread讓開發(fā)人員可以便捷地復(fù)制一個對象,如下所示:

        let copy = { ...original };

    類似地,我們可以合并多個不同的對象,如下所示,合并后的對象將同時具有foo、bar和baz的屬性:

        let merged = { ...foo, ...bar, ...baz };

    開發(fā)人員也可以在合并后的對象中添加新屬性。Object Rest是一個相對的過程,它可以排除特定的屬性,如下所示:

        let { a, b, c, ...defghijklmnopqrstuvwxyz } = alphabet;
  • keyof和Lookup類型:實(shí)際上,keyof操作符被稱為“索引類型查詢(index type query)”,它就像一個查詢對象類型的鍵的查詢,如下所示:

        interface Person {
            name: string;
            age: number;
            location: string;
        }
    
        let propName: keyof Person;

    上述代碼也可以寫成如下形式:

        let propName: "name" | "age" | "location";

    而Lookup類型被稱為“索引訪問類型(indexed access types)”,它看上去像訪問一個元素,如下所示:

        interface Person {
            name: string;
            age: number;
            location: string;
        }
    
        let a: Person["age"];
  • “映射類型(Mapped Types)”:這是TypeScript 2.1最令人感興趣的特性。假如我們有一個Person類型,如下所示:

        interface Person {
            name: string;
            age: number;
            location: string;
        }

    如果我們希望以此為基礎(chǔ)創(chuàng)建一個屬性全為布爾值的類型,那么我們需要定義一個全新的類型:

        interface BooleanifiedPerson {
            name: boolean;
            age: boolean;
            location: boolean;
        }

    而借助映射類型,我們可以將BooleanifiedPerson定義為:

        type BooleanifiedPerson = {
            [P in "name" | "age" | "location"]: boolean
        };

    借助keyof操作符,上述代碼還可以進(jìn)一步簡化為:

        type BooleanifiedPerson = {
            [P in keyof Person]: boolean
        };
  • Partial類型:讓開發(fā)人員可以創(chuàng)建現(xiàn)有類型的所有可選版本。此外,TypeScript 2.1還提供了Readonly、Record和Pick等實(shí)用類型,感興趣的讀者可以點(diǎn)擊這里查看它們的實(shí)現(xiàn)方式。

此外,TypeScript 2.1還放松了對程序包導(dǎo)入的檢查,只要用戶安裝了就可以使用,TypeScript將不會再因?yàn)檎也坏较嚓P(guān)的聲明文件而提示錯誤。

感興趣的讀者可以通過NuGet獲取TypeScript,也可以通過npm進(jìn)行安裝:

npm install -g typescript

Visual Studio 2015用戶需要首先升級到Update 3,再通過專門的安裝包進(jìn)行安裝。Visual Studio Code或Sublime Text用戶也可以根據(jù)相關(guān)的說明使用最新版本的TypeScript。

看完了這篇文章,相信你對“TypeScript 2.1有什么新特性”有了一定的了解,如果想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

名稱欄目:TypeScript2.1有什么新特性
文章URL:http://jinyejixie.com/article2/pspgic.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)動態(tài)網(wǎng)站、軟件開發(fā)微信小程序、外貿(mào)建站、網(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)站網(wǎng)頁設(shè)計(jì)
克什克腾旗| 江达县| 彰化县| 分宜县| 江门市| 红安县| 兴安县| 连城县| 兴和县| 堆龙德庆县| 五大连池市| 石楼县| 巫山县| 于都县| 息烽县| 大兴区| 团风县| 道真| 安乡县| 金湖县| 临夏县| 兰溪市| 贵州省| 彰化县| 夏津县| 南安市| 黄石市| 武鸣县| 景谷| 中西区| 宁夏| 南木林县| 晋中市| 衡水市| 陇川县| 霍城县| 大埔县| 宿州市| 哈密市| 河南省| 和顺县|