typescript用什么软件写_为什么都2019年了大家还喜欢用TypeScript?
作者丨Saurabh Barot
2018 年發(fā)起的 Stack Overflow 開發(fā)人員調(diào)查揭示了業(yè)內(nèi)關(guān)于不同編程語言、平臺、庫等的一些流行觀點。基于這項研究可以看出,TypeScript 是比 JavaScript 更受喜愛的編程語言。開發(fā)者喜歡使用 TypeScript 的因素之一是它可以向 JavaScript 添加類型。
這樣你就能在運行代碼之前發(fā)現(xiàn)錯誤了。此外 TypeScript 編譯器還能為你提供建議,幫助你更好地解決這些錯誤。
開發(fā)者將類型添加到 JavaScript 后還可以使用代碼編輯器中的一些高級功能,如自動模塊導(dǎo)入、代碼自動補完和重構(gòu)整個項目等。
TypeScript 只是一個基于 JavaScript 的層。TypeScript 的學(xué)習(xí)曲線很陡峭,使用它之前應(yīng)該先好好學(xué)習(xí)它的語法,這樣上手起來更快。
開發(fā)者可以輕松地將 JavaScript 文件轉(zhuǎn)換為 TypeScript,只需將文件擴展名從.js 更改為.ts 即可。之后所有 TypeScript 代碼都將編譯為 JavaScript。
1、什么是 TypeScript?
實際上 TypeScript 是一種編程語言。它也被稱為 JavaScript 的超集。你可以在 TypeScript 中找到 JavaScript 中的所有功能。它可以用作大型 JavaScript 應(yīng)用程序的編程語言。
好消息是最新版本的 ECMAScript 就能支持 TypeScript 了。編譯 TypeScript 時還能同時輸出一個 JavaScript 版本,在所有平臺上都能正常運行。
2、TypeScript 的受歡迎程度
如果我們看一下 TypeScript 從 2016 年到 2018 年的發(fā)展歷程,你會發(fā)現(xiàn)用過 TypeScript 并愿意再次使用的用戶比例從 20.8%增加到了 46.7%。開發(fā)人員選擇它的主要原因之一是它能減少錯誤。
TypeScript 如今越來越受歡迎,具體數(shù)據(jù)表現(xiàn)如下:
3、TypeScript V/s JavaScript
TypeScript 面世已經(jīng)有幾年時間了,相繼發(fā)布了很多新版本,有了許多改進。這些改進體現(xiàn)在功能、函數(shù)、性能等許多方面。使用 TypeScript 取代 JavaScript 的現(xiàn)象也越來越多。要深入了解這一狀況,你需要對這些技術(shù)有客觀的認識。
那么讓我們比較一下…
JavaScript
- 用法。JavaScript 是一種遵循客戶端編程原則的腳本語言。它用于開發(fā)交互式網(wǎng)頁。這意味著它不需要 Web 瀏覽器提供任何內(nèi)容,也可以輕松地在用戶的 Web 瀏覽器上運行。
- 數(shù)據(jù)綁定。在 JavaScript 中沒有使用接口和類型描述數(shù)據(jù)的概念。
- 生態(tài)系統(tǒng)。不需要任何構(gòu)建步驟就能用 JS 編碼。
- 學(xué)習(xí)曲線。JavaScript 簡單靈活。
- 原型。JavaScript 沒有原型功能。
- 代碼編譯。你不需要在 TypeScript 中編譯代碼。
- 類型標(biāo)注。 JavaScript 不需要類型標(biāo)注。
TypeScript
- 用法。TypeScript 是一種基于 JavaScript 的開發(fā)語言。用它可以編寫簡單的 JavaScript 代碼,寫出來的代碼可以在任何支持 ECMAScript 3 或更新版本的瀏覽器上運行。
- 數(shù)據(jù)綁定。TypeScript 使用接口和類型來描述數(shù)據(jù)。
- 生態(tài)系統(tǒng)。TypeScript 帶有直觀的生態(tài)系統(tǒng)。這樣你就可以在項目中加入一些 JavaScript 功能。
- 學(xué)習(xí)曲線。TypeScript 有著嚴格的學(xué)習(xí)曲線。
- 原型。TypeScript 具有原型功能。
- 代碼編譯。 你需要在 TypeScript 中編譯代碼。
- 類型標(biāo)注。開發(fā)人員需要不斷地為他們的代碼標(biāo)注,以便數(shù)據(jù)能夠得到良好的輸出展示。
4、開發(fā)者最喜歡的一些 TypeScript 功能
未知頂級類型
“unknown”類型在 TypeScript 3.0 中引入,作為與“any”類型對應(yīng)的新“類型安全”。區(qū)分“unknown”和“any”兩個概念的關(guān)鍵在于,“unknown”比“any”(“任何”自 2012 年以來就一直是 TypeScript 的組成部分)寬松很多。它與“any”非常相似,因為你可以為“unknown”分配任何值;但這里類型斷言是很重要的,沒有它什么都做不了。此外,你不能訪問或調(diào)用 / 構(gòu)造任何“unknown”類型的屬性。
數(shù)組和元組上的映射類型
涉及到元組上的映射時,TypeScript 沒有引入全新概念,而是在 TypeScript 3.1 中加入了有映射的對象類型。這與同數(shù)組和元組交互時應(yīng)該采用的方式完全一致。這意味著不管你在用什么方式使用已存在的映射類型(如必需或部分),這些方法也能直接拿來處理數(shù)組和元組。這樣,TypeScript 可以很好地適用于像 Promise.all 這樣的函數(shù)。
Node.js 包與 tsconfig.json 的繼承
使用 TypeScript 3.2 時你可以從 node_modules 解析 tsconfig.json。當(dāng)你嘗試訪問 tsconfig.json 中的“extends”字段時,TypeScript 將查看 thenode_modules 包。它將在 node_modules 文件夾中查找 @my-team/tsconfig-base 的包。在進一步使用該包之前,TypeScript 會查找 package.json 中是否存在 tsconfig 字段,并且一旦找到它就會從字段中加載配置文件。如果找不到這樣的字段,那么它將轉(zhuǎn)向 tsconfig.json。在處理大型項目時,這一步驟被證明是很有用的。
Const 斷言
TypeScript 3.4 引入了一個新的字面值構(gòu)造,它被稱為 const 斷言。它的語法是一個類型斷言,用 const 斷言構(gòu)造新的文字表達式時,你可以表示對象字面量帶有只讀屬性,或者數(shù)組具有只讀元組。
對 globalThis 進行類型檢查
在全局范圍內(nèi)訪問值一直是 TypeScript 的一個問題,這個問題在 TypeScript 3.4 中得到了解決,因為新版為 ECMAScript 中的 globalThis 提供了類型檢查支持。globalThis 只是一個適用于全局范圍的全局變量。此變量可讓你從喜歡的任何環(huán)境中輕松訪問全局范圍。同樣,你需要知道 globalThis 不顯示兩個全局變量,即 const 和 let。
在 JSX 中支持 defaultProps
TypeScript 3.0 為 JSX 中的 React 開發(fā)提供了一種新類型,稱為 LibraryManagedAttributes。此類型用作幫助程序,用于在 prop 類型組件使用之前定義它的更改。這樣就可以對推斷和提供的映射與 prop 進行修改。
需要注意的是如果添加了顯式類型注釋,編譯器將無法識別默認屬性,因為默認屬性是從 defaultProps 的屬性類型推斷出來的。
5、TypeScript 的優(yōu)勢
它是一種面向?qū)ο蟮恼Z言,這種面向?qū)ο蟮恼Z言具有接口、類、繼承、模塊等功能。
可選靜態(tài)類型
TypeScript 附帶可選的靜態(tài)類型系統(tǒng),是它的一大優(yōu)勢。你可以向?qū)傩浴⒑瘮?shù)、變量等添加類型。因此在應(yīng)用程序運行之前,編譯器就能顯示有關(guān)任何潛在問題(如果存在)的任何警告。類型能讓開發(fā)人員知道自己需要哪種類型 API,在使用框架和庫時這一點很有用。
需要記住的是使用類型是可選的。就是說開發(fā)人員不會被 TypeScript 強迫使用他們不想要的任何類型。但要記住,當(dāng)應(yīng)用程序規(guī)模變大,且隨時間變得愈加復(fù)雜時,類型也會越來越體現(xiàn)其價值。
提供對 JavaScript 庫的支持
你可以將 TypeScript 與現(xiàn)有的頂級 JavaScript 框架和庫以及其他工具一起使用。
TypeScript 是可移植的
你可以在任何設(shè)備、瀏覽器或操作系統(tǒng)上運行 TypeScript。它可以在各種設(shè)備上輕松使用,全平臺兼容。你可以在支持 JavaScript 的任何環(huán)境中運行 TypeScript。
更少的錯誤
在前端開發(fā)領(lǐng)域,如果開發(fā)者能更方便地發(fā)現(xiàn)編程過程中發(fā)生的錯誤就能節(jié)約很多時間。這也就是為什么你需要 TypeScript。使用 TypeScript 時,你可以確保代碼庫中沒有無效代碼。
智能感知
在你的項目中使用 TypeScript 的另一個好處是智能感知,因為它能幫助代碼自動補完。寫代碼時智能感知能提供有用的提示。當(dāng)今市面上所有重要的 IDE 都支持代碼自動補完功能,包括 Sublime Text、Atom、WebStorm、VScode,還包括一些命令行編輯器。
TypeScript 很像 JS
TypeScript 代碼完全在 JavaScript 中運行。這意味著你只需要對 JavaScript 有所了解即可開始使用 TypeScript。在代碼執(zhí)行方面,用 TypeScript 編寫的代碼被編譯并轉(zhuǎn)換為 JavaScript。
6、結(jié)論
開發(fā)者在已經(jīng)意識到 TypeScript 可以大幅提高生產(chǎn)力,并輕松構(gòu)建可靠且可擴展的應(yīng)用程序。將它集成到現(xiàn)有的 JavaScript 是非常容易的,并且它可以輕松地與 React、Angular、Node 和 Vue 一起使用。
你還要知道 JavaScript 和 TypeScript 都在不斷發(fā)展,它們絕不會相互競爭。它們只是相互補充,各自滿足不同的需求。因此,你可以根據(jù)你的項目需求選擇正確的解決方案。
原文鏈接:
https://aglowiditsolutions.com/blog/why-use-typescript/
總結(jié)
以上是生活随笔為你收集整理的typescript用什么软件写_为什么都2019年了大家还喜欢用TypeScript?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php关键词分词搜索 最多匹配的排在最前
- 下一篇: 小芋头的功效与作用、禁忌和食用方法