TypeScript是什麼?解決了JavaScript的什麼問題?

語言: CN / TW / HK

theme: fancy

小知識,大挑戰!本文正在參與“程序員必備小知識”創作活動。

大家好,我是一碗周,一個不想被喝(內卷)的前端。如果寫的文章有幸可以得到你的青睞,萬分有幸~

寫在前面

TypeScript是JavaScript的超集,它可以編譯成純JavaScript代碼。

那為什麼會出現TypeScript這門語言,主要是因為現在的JavaScript可以開發很多複雜的項目,但是JavaScript又缺乏其可靠性,在使用的時候需要我們為了代碼的健壯性需要添加很多業務邏輯去判斷。

TypeScript可以運行在瀏覽器環境、Node.js環境或者ECMAScript3或者更高的JavaScript的引擎中。

JavaScript的問題

JavaScript的問題主要有如下幾個:

  1. JavaScript的類型異常只有在運行的時候才可以發現。
  2. 因為JavaScript的函數的類型是不明確的,有可能導致函數的最終功能導致出現問題,如下這段代碼:

JavaScript function sum(x, y){ return x + y } sum(100, '100') // 100100

TypeScript的優勢

JavaScript是動態類型的編程語言,所謂的動態類型,就是在編譯時候時候才知道其數據類型是Number 還是String;而TypeScript是靜態類型的編程語言,所謂的靜態類型就是編寫的時候就知道其數據類型是什麼,比例定義一個變量

TypeScript let num: number = 6;

num這個變量從頭到尾只能是number類型,如果將字符串賦值給他就會拋出異常。

所以説,TypeScript的優勢如下:

  1. 在開發過程中,就可以定位的錯誤的地方,方便我們檢查錯誤
  2. 減少了我們在開發過程中的不必要的類型檢查
  3. 靜態類型的代碼提示是要優於靜態類型代碼提示的。
  4. 在進行項目重構的時候會更加簡單
  5. 靜態類型的代碼語義化比動態類型更好,可讀性更好。

TypeScript的運行環境

TypeScript是運行是建立在Node.js環境基礎之上的,所以需要先安裝一下Node.js。

安裝Node.js等一系列操作以忽略

安裝TypeScript的命令如下

PowerShell npm install -g [email protected]

這裏我通過@指定版本號,也可以不指定版本號

安裝完TypeScript後,還需要安裝一個ts-node的工具,如果安裝該工具話是不能直接運行TS代碼的,需要將TS的代碼編成JavaScript後才能執行。執行流程如下

```PowerShell

編譯 TS 代碼

tsc demo.ts

編譯後會得到 demo.js 文件,然後就可以運行了

```

如果安裝了node-ts工具後,就可以直接執行TS代碼了。具體步驟如下

```PowerShell

1. 全局安裝

npm install -g [email protected]

2. 運行代碼

ts-node demo.ts ```

值得注意的是安裝之後的目錄一定需要在環境變量中,不然會報錯的。