偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

你真的知道 JavaScript 和 Typescript 之間的區(qū)別嗎?

譯文 精選
開發(fā)
根據(jù)我的描述,TypeScript似乎只是JS的一個更好的版本。所以你可能會認為TS會在不久的將來取代JavaScript。其實不然,我仍然相信JavaScript會有用武之地。

  作者│Piumi Gunawardhana

  譯者│翟珂

  JavaScript是深受大眾喜歡的腳本語言。自從它誕生以來,它一直是網(wǎng)絡開發(fā)的主導語言。20年后,微軟推出了TypeScript,是JavaScript的超集,專為開發(fā)大型網(wǎng)絡應用程序而設計。

  如果你對Typescript和JavaScript有所了解,你就會知道它們不會相互競爭。它們有一種獨特的關系,共同發(fā)展。讓我們來分析一下它們的優(yōu)缺點,以便將來你能夠更好的為項目選型。

  什么是JavaScript?

  JavaScript是世界上最流行的編程語言之一。

  讓我們從頭講起。自90年代以來,JavaScript一直是網(wǎng)絡應用的核心技術。它用來與HTML和CSS結合創(chuàng)建交互式網(wǎng)頁。它是一種具有動態(tài)類型和JIT(Just-in-Time)編譯器的高級語言。

  JavaScript是一種多范式語言,支持各種編程風格,如函數(shù)式編程、命令式編程和事件驅動式編程。它還支持編寫服務器端。JavaScript是在ECMAScript(ES)標準的基礎上形成的。在JavaScript中使用最廣泛的ES標準是ES5和ES6。

  什么是TypeScript?

  TypeScript (TS) 是一個 JavaScript 超集,其目標與 JavaScript 相同。

  TypeScript 是一種開源編程語言,具有許多特性,如繼承、類、可見性范圍、命名空間、接口、合并和其他現(xiàn)代特性以及靜態(tài)和動態(tài)類型。它支持注釋、變量、函數(shù)、語句、模塊和表達式。

  作為一種強類型的編程語言,TypeScript調(diào)試(在編譯過程中)更容易,所以更適用于復雜應用。

  為什么會出現(xiàn) TypeScript?

  JavaScript項目的復雜性呈指數(shù)級地增長。最初,JavaScript只被用作客戶端語言。但開發(fā)人員慢慢意識到,它也可以作為一種服務器端的編程語言。

  盡管JavaScript有很多優(yōu)點,但它在服務器端會變得混亂和復雜(特別是對于大規(guī)模的應用程序)。同時,JavaScript還會使大型復雜的應用程序難以維護。

  而瀏覽器不斷的迭代和跨瀏覽器的兼容性也要求對底層的JavaScript進行改變,但繼續(xù)改造JavaScript來解決這些并不實際。所以TypeScript應運而生。

  JavaScript 和 TypeScript 之間的主要區(qū)別 

JavaScript

TypeScript

支持動態(tài)網(wǎng)頁內(nèi)容

為幫助項目解決代碼復雜性而創(chuàng)建的JavaScript超集

解釋性語言,因此只有在運行時才會發(fā)現(xiàn)錯誤

在編譯期間可以檢測和修復錯誤

弱類型,無法選擇靜態(tài)類型

強類型,支持靜態(tài)和動態(tài)類型

可以直接在瀏覽器中使用

將代碼轉換為 JS 以實現(xiàn)瀏覽器兼容性

不支持模塊、泛型和接口

支持模塊、泛型和接口

不支持可選參數(shù)

可選參數(shù)可以添加到函數(shù)中

使用數(shù)字和字符串作為接口

數(shù)字和字符串是對象

大量社區(qū)支持,包括大量文檔

社區(qū)支持正在增長,不像以前那么強大

不支持原型設計

原型設計是一個可行的選擇

不需要事先的腳本知識

學習和編碼需要時間,需要腳本知識

無需設置構建環(huán)境

對于靜態(tài)類型定義,需要適當?shù)貥嫿ㄔO置(npm 包)

  TypeScript 比 JavaScript 更好嗎?

  根據(jù)我的描述,TypeScript似乎只是JS的一個更好的版本。所以你可能會認為TS會在不久的將來取代JavaScript。其實不然,我仍然相信JavaScript會有用武之地。

  復雜性是一個需要考慮的關鍵因素。

  JavaScript 非常適合更簡單的應用程序,因為它可以在所有平臺(跨平臺)上運行并且非常輕量級。另外,與JS的最小開銷相比,編譯TS代碼需要的時間和CPU資源對項目而言會更麻煩。

  與JavaScript相比,TypeScript有很多好處。

  TS 使代碼重構變得更加容易,并且更強調(diào)顯式類型,使開發(fā)人員能夠掌握各種組件的交互方式。由于它支持編譯時調(diào)試,對于處理大型復雜應用程序的團隊來說,有一定的好處。

  為任何項目設置TypeScript都是容易的。一些框架,如Angular,默認使用TypeScript。因此,在我看來TypeScript更勝一籌。

  TypeScript 的缺點

  盡管TypeScript有許多優(yōu)點,但它也有某些缺點。

  需要準確的定義類型,在使用的時候是比較麻煩的,但從長遠來看,可以節(jié)省時間和資源。這是選擇JavaScript的最常用的理由。

  你不可能把一個大型的JavaScript項目遷移到嚴格的TypeScript上。雖然有一些工具可以協(xié)助,但你還是需要自己遷移大部分的代碼。

  TypeScript代碼編譯需要時間和CPU資源,所以需要等待一會才能看到改變。與傳統(tǒng)的JavaScript不同,實時編碼會有一點影響。在海量代碼庫上,這些工具也會顯著減慢,導致導航等顯著延遲。

  什么時候應該將項目遷移到TypeScript?

  當代碼的大小、復雜性和出錯率增加時,需要在編譯過程中確定具體問題時,就可以使用TypeScript。

  TypeScript 還具有接口和訪問修飾符,允許開發(fā)人員在單個代碼庫上進行協(xié)作和交互。因此,最好在項目一開始就使用TypeScript。

  但是你如果喜歡像Ember.js或Glimmer.js這樣的框架,那你就不會喜歡TypeScript,這些框架的首選是JavaScript。

  結論

  由于 TypeScript 轉換為普通的 JavaScript 代碼,因此你可以將其用作 JavaScript 的替代品。這就是為什么它更容易被接受。當然我們也能看到TS被集成到流行的JS框架的核心構建組件和庫中,如Angular、React和Vue.js。

  就個人而言,我是TypeScript的粉絲,通常建議新項目使用它。在開始的時候多花點心思,就省得以后頭疼了。

  我希望這篇文章能夠幫助你更好地理解這兩種腳本語言之間的差異。至少,你已經(jīng)對TypeScript到底是什么有了更好的了解?,F(xiàn)在你可以為你的下一個項目作出更明智的選擇了。

  譯者介紹

  翟珂,51CTO社區(qū)編輯,目前在杭州從事軟件研發(fā)工作,做過電商、征信等方面的系統(tǒng),享受分享知識的過程,充實自己的生活。

  原文標題:Still pretending you know the differences between JavaScript and Typescript?

??  https://thenextweb.com/news/differences-between-javascript-and-typescript??

責任編輯:張潔
相關推薦

2024-05-10 08:41:05

NPMYarn

2022-09-22 14:55:31

前端JavaScripthis

2022-09-26 13:10:17

JavaScriptthis

2021-01-22 10:27:28

人工智能機器學習技術

2022-05-06 09:21:21

TypeScriptinterfacetype

2017-09-18 17:00:02

前端URLURN

2025-05-22 08:00:00

varletJavaScript

2019-11-06 09:52:01

JavaScript單線程非阻塞

2024-01-01 08:25:53

ViewSurface框架

2022-09-28 18:16:34

JavaJDK

2021-02-19 07:59:21

數(shù)據(jù)埋點數(shù)據(jù)分析大數(shù)據(jù)

2017-08-08 14:54:54

機器學習模型參數(shù)超參數(shù)

2023-06-01 08:15:04

CentOS紅帽

2020-09-03 06:42:12

線程安全CPU

2019-07-24 10:11:51

jdkjreJava

2023-04-28 07:49:13

Javawaitsleep

2022-03-10 08:25:27

JavaScrip變量作用域

2023-12-29 22:41:12

同步架構業(yè)務

2022-04-26 09:01:45

運算符TypeScript代碼

2024-10-16 17:10:41

點贊
收藏

51CTO技術棧公眾號