<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          JavaScript 敗北,TypeScript 大勢(shì)所趨?

          共 1963字,需瀏覽 4分鐘

           ·

          2020-01-08 23:22

          (給前端大學(xué)加星標(biāo),提升前端技能.

          來(lái)自:?CSDN?譯者:明明如月 責(zé)編:郭芮

          https://medium.com/javascript-in-plain-english/is-typescript-the-way-forward-659caa2cb10f

          由于TypeScript的先天優(yōu)勢(shì),TypeScript越來(lái)越受歡迎。那問(wèn)題來(lái)了:TypeScript 和 JavaScript 究竟哪個(gè)更好?JavaScript真的會(huì)敗北嗎?

          082972e1582275dd4c62ceb6293e197c.webp

          以下為譯文:

          你以前可能曾聽(tīng)說(shuō)過(guò)“TypeScript”這個(gè)詞。到現(xiàn)在 2019年,TypeScript 在 GitHub 最常用編程語(yǔ)言排行榜排名第 7 位,在增速最快的編程語(yǔ)言排行榜中占第 5 位。TypeScript (TS) 是微軟開(kāi)發(fā)的一種開(kāi)源編程語(yǔ)言,可以編譯成 JavaScript (JS) 代碼。自 2012 年發(fā)布以來(lái),這門語(yǔ)言一直保持活躍發(fā)展并且越發(fā)受歡迎。在早期,開(kāi)發(fā)社區(qū)就將 TypeScript 和 Angular 緊密聯(lián)系在一起。盡管用 JS 也不是不行,但是 Angular 強(qiáng)迫你使用 TypeScript。
          1. TypeScript 和 JavaScript 的區(qū)別是什么?Typescript 是 JavaScript 的超集,可以被編譯成 JavaScript 代碼。 用 JavaScript 編寫的合法代碼,在 TypeScript 中依然有效。 Typescript 是純面向?qū)ο蟮木幊陶Z(yǔ)言,包含類和接口的概念。 程序員可以用它來(lái)編寫面向?qū)ο蟮姆?wù)端或客戶端程序,并將它們編譯成 JavaScript 代碼。

          9b88880afb6cbaa4e85657f2177da16a.webp

          TypeScript和 JavaScript的關(guān)系,圖源:GeeksforGeeks
          TypeScript 引入了很多面向?qū)ο蟪绦蛟O(shè)計(jì)的特征,包括:
          • interfaces ?接口
          • classes ?類
          • enumerated types 枚舉類型
          • generics 泛型
          • modules 模塊
          主要不同點(diǎn)如下:
          • TS 是一種面向?qū)ο缶幊陶Z(yǔ)言,而 JS 是一種腳本語(yǔ)言(盡管 JS 是基于對(duì)象的)。
          • TS 支持可選參數(shù), JS 則不支持該特性。
          • TS 支持靜態(tài)類型,JS 不支持。
          • TS 支持接口,JS 不支持接口。


          2.?為什么要用 TypeScript ?


          • TS 在開(kāi)發(fā)時(shí)就能給出編譯錯(cuò)誤, 而 JS 錯(cuò)誤則需要在運(yùn)行時(shí)才能暴露。
          • 作為強(qiáng)類型語(yǔ)言,你可以明確知道數(shù)據(jù)的類型。代碼可讀性極強(qiáng),幾乎每個(gè)人都能理解。
          • TS 非常流行,被很多業(yè)界大佬使用。像 Asana、Circle CI 和 Slack 這些公司都在用 TS。


          3.?為什么不該用 TypeScript ?


          • TS 需要編譯。TS 得通過(guò)編譯才能變成 JS 代碼。
          • 隨著時(shí)間的推移,類型可能變得非常復(fù)雜。當(dāng)項(xiàng)目不斷變大時(shí)這種情況十分常見(jiàn)。
          • 盡管 TS 是類型安全的,在有些情況下編譯器也有檢查不出任何錯(cuò)誤的情況。當(dāng)我們修改編譯后的 JS 代碼時(shí),錯(cuò)誤就不可檢測(cè)了。不過(guò)隨著編譯器不斷改進(jìn),這種情況會(huì)越來(lái)越少。



          4.?摘要



          JavaScriptTypeScript
          語(yǔ)言腳本語(yǔ)言面向?qū)ο缶幊陶Z(yǔ)言
          學(xué)習(xí)難度靈活易學(xué)需要有腳本編程經(jīng)驗(yàn)
          類型輕量級(jí)解釋編程語(yǔ)言強(qiáng)類型的面向?qū)ο缶幊陶Z(yǔ)言
          客戶端/服務(wù)端客戶端服務(wù)端都有側(cè)重客戶端
          拓展名.js.ts 或 .tsx
          耗時(shí)更快編譯代碼需要些時(shí)間
          數(shù)據(jù)綁定沒(méi)有類型和接口的概念使用類型和接口表示數(shù)據(jù)
          注解不需要注解使用注解才能最大限度發(fā)揮 TypeScript的特性
          語(yǔ)法所有的語(yǔ)句都寫在腳本標(biāo)簽內(nèi)。瀏覽器將腳本標(biāo)簽內(nèi)的文本識(shí)別為腳本一個(gè) TypeScript 程序由模塊、方法、變量、語(yǔ)句、表達(dá)式和注釋構(gòu)成。
          靜態(tài)類型JS 中沒(méi)有靜態(tài)類型的概念支持靜態(tài)類型
          模塊支持不支持模塊支持模塊
          接口沒(méi)有接口支持接口
          可選參數(shù)方法不支持支持
          原型沒(méi)有這種特性支持原型特性
          開(kāi)發(fā)者社區(qū)JS 使用范圍很廣,被編程社區(qū)廣泛接受和使用TS 比較新,編程社區(qū)相對(duì)較小
          參考選擇小型項(xiàng)目TS 是一種面向?qū)ο笳Z(yǔ)言,代碼更簡(jiǎn)潔,可讀性和復(fù)用性強(qiáng)。因此 TS 更適合大型項(xiàng)目。

          表格來(lái)自:Edureka


          5.?結(jié)論那問(wèn)題來(lái)了:TypeScript 和 JavaScript 哪個(gè)更好?由于 TS 的先天優(yōu)勢(shì),TS 越來(lái)越受歡迎。但是請(qǐng)記住,TS 最終不可能取代 JS,因?yàn)?JS 是 TS 的核心。選擇 TypeScript 還是 JavaScript 要由開(kāi)發(fā)者自己去做決定。如果你喜歡類型安全的語(yǔ)言,那么推薦你選擇 TS。 如果你已經(jīng)用 JS 好久了,你可以選擇走出舒適區(qū)學(xué)習(xí) TS,也可以選擇堅(jiān)持自己的強(qiáng)項(xiàng),繼續(xù)使用 JS。本文到此結(jié)束,希望你能有所收獲,輕松快樂(lè)的學(xué)習(xí)。

          分享前端好文,缺個(gè)?在看?f2ba6208e5c8cceabf6a0bb5a4bb2916.webp

          瀏覽 58
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  超碰1234 | 97人妻视频 | 午夜福利三级 | 好逼123 | 婷婷午夜精品久久久久久性色AV |