回覆列表
  • 1 # 程式設計師周先生

    想知道TypeScript解決了什麼樣的痛點,主要從以下幾個方面來了解。

    一、什麼是TypeScript

    TypeScript是JavaScript型別的超集,它可以編譯成純JavaScript;TypeScript可以在任何瀏覽器、任何計算機和任何作業系統上執行,並且是開源的。

    二、TypeScript的優勢

    2.1、始於JavaScript,歸於JavaScript

    TypeScript從今天數以百萬計的JavaScript開發者所熟悉的語法和語義開始。使用現有的JavaScript程式碼,包括流行的JavaScript庫,並從JavaScript程式碼中呼叫TypeScript程式碼。

    TypeScript可以編譯出純淨、 簡潔的JavaScript程式碼,並且可以執行在任何瀏覽器上、Node.js環境中和任何支援ECMAScript 3(或更高版本)的JavaScript引擎中。

    2.2、強大的工具構建大型應用程式

    型別允許JavaScript開發者在開發JavaScript應用程式時使用高效的開發工具和常用操作比如靜態檢查和程式碼重構。

    型別是可選的,型別推斷讓一些型別的註釋使你的程式碼的靜態驗證有很大的不同。型別讓你定義軟體元件之間的介面和洞察現有JavaScript庫的行為。

    TypeScript提供最新的和不斷髮展的JavaScript特性,包括那些來自2015年的ECMAScript和未來的提案中的特性,比如非同步功能和Decorators,以幫助建立健壯的元件。

    這些特性為高可信應用程式開發時是可用的,但是會被編譯成簡潔的ECMAScript3(或更新版本)的JavaScript。

    三、解決的痛點

    3.1、TypeScript解決了JavaScript的弱型別和沒有名稱空間,導致很難模組化,不適合開發大型程式等痛點。

    3.2、更方便地實踐面向物件的程式設計,實現類,介面,列舉,泛型,方法過載等,用簡潔的語法豐富了JavaScript的使用。

    綜上所述,以上就是TypeScript解決JavaScript弱型別的痛點。

  • 2 # 每日開原始碼

    C/C++, Java 等靜態型別語言,是大多數工程師的入門語言。估計靜態型別的諸多特性已被習以為常,沒有給大家留下深刻的印象。反而會讓大家覺得,靜態型別很囉嗦,很死板,編譯通過太難。

    真正瞭解 Typescript 之後,我才發現 Typescript 和 Java, C++ 等靜態型別語言有很大的不同。Typescript 的程式設計體驗可以概括為,既能享受靜態型別帶來的優點,如 IDE全方位的開發輔助和嚴格的程式碼檢查;又能讓程式碼像 Javascript 一樣簡潔和靈活!

    Typescript 有很多靈活的設計,不僅僅是靜態型別那麼簡單。

    首先 Typescript 全面擁抱了型別推導,隨便用 Javascript 寫一個 object,ts 都可以推匯出完善的 interface 型別。 隨著 Typescript 的版本演進,Typescript 的型別推導能力也越來越強大!強大到,Typescript 的型別是可程式設計的。什麼意思呢,用大白話說,我要新定義一個型別,是可以基於已有的型別,通過程式設計的手段,進行轉化加工,最終得到一個新型別。而不是去從頭到尾去定義這個新的型別。

    與 Java、C++ 不同,Typescript 沒有嚴格要求 100% 的靜態型別覆蓋。Javascript 程式碼可以用 Typescript 直接編譯通過。所以 Javascript 專案想遷移 Typescript ,只需要批量把字尾改成 .ts,當你在一些地方希望享受靜態型別的好處時,再逐漸補充型別定義。而碰到靜態型別沒有帶來實質利益的case,也大可不必定義型別或者用`any` 來定義。

    在前端這個特定場景中,其原始型別只來源於業務模型和產品需求規格,其它的型別都可以通過這兩類型別推匯出來,而不需要重複定義。產品需求規格的型別定義少之又少,業務模型是大頭。而業務模型的型別,在全面擁抱靜態型別的後端程式碼中,早已仔細定義過一份了。

    如今前端專案越來越龐大,越來越複雜,靜態型別簡直是剛需,相信 Typescript 也會越來越普及。

  • 3 # Lakers一生紫金

    最近接觸了ts,ts最明顯的特徵就是強型別,ts是js的超集,它是支援es5,es6語法的,所以在ts中這js是完全沒問題的。js是弱型別的,因此,js維護起來難度比較大。ts的強型別,看似囉嗦,但實際用發相當靈活,同時,介面、類、裝飾器等等,讓js像極了java這樣的後端語言。ts的強型別,使得前端能夠進行更嚴格的引數檢驗,減少程式由於資料型別產生錯誤。

    另外,各大框架像vue,react都在提倡使用ts來寫專案。2020了,再不抱緊ts的大腿,就要被拋棄了[大笑]

  • 4 # 程式設計圈

    解決了部分解釋性語言的通病,用在大型專案原始碼更有條理:

    強型別名稱空間、類定義規範化配合IDE便於實現程式碼引用跟蹤lambda表示式更易於應用在超大型專案。

    目前JavaScript是所有基於瀏覽器的前端應用事實工業標準,而TypeScript可無縫對接JavaScript, 目前國內的前端應用支援TypeScript的應用逐漸增多。

  • 中秋節和大豐收的關聯?
  • 為什麼《乘風破浪的姐姐》這個節目能引起大家關注呢?