JavaScript - 概述



什麼是 JavaScript?

JavaScript 是一種動態的計算機程式語言。它輕量級,最常用於網頁的一部分,其實現允許客戶端指令碼與使用者互動並建立動態頁面。它是一種具有面向物件功能的解釋型程式語言。

JavaScript 是一種單執行緒程式語言,可用於客戶端或伺服器端開發。它是一種動態型別程式語言,這意味著我們在編寫 JavaScript 程式碼時不必關心變數的資料型別。此外,它還包含控制語句、運算子和物件,如 Array、Math、Data 等。

JavaScript 最初被稱為LiveScript,但 Netscape 將其名稱更改為 JavaScript,可能是因為 Java 產生的興奮。JavaScript 於 1995 年在 Netscape 2.0 中首次亮相,名稱為LiveScript。該語言的通用核心已嵌入 Netscape 和其他 Web 瀏覽器中。

ECMA-262 規範定義了核心 JavaScript 語言的標準版本。

  • JavaScript 是一種輕量級、解釋型的程式語言。

  • 旨在建立以網路為中心的應用程式。

  • 與 Java 互補並整合。

  • 與 HTML 互補並整合。

  • 開放且跨平臺

JavaScript 的歷史

JavaScript 由 Brendan Eich 開發,他是 Netscape Communications Corporation 的計算機科學家和程式設計師。JavaScript 的最初名稱是“Mocha”。之後,它更名為“LiveScript”,然後是“JavaScript”。

在 1996 年到 1997 年期間,歐洲計算機制造商協會 (ECMA) 對 JavaScript 進行了標準化。之後,JavaScript 進行了 3 次修訂。

ES5 (2009) 中,引入了 Node.js 以將 JavaScript 用作伺服器端語言。ES6 (2015) 是 JavaScript 的重大修訂,將高階功能引入 JavaScript。

目前,JavaScript 已達到 ES14 版本。ES14 (ECMAScript 2023) 是第 14 個版本,於 2023 年 6 月釋出。

客戶端 JavaScript

客戶端 JavaScript 是該語言最常見的形式。指令碼應包含在 HTML 文件中或由 HTML 文件引用,以便瀏覽器解釋程式碼。

這意味著網頁不必是靜態 HTML,而是可以包含與使用者互動、控制瀏覽器以及動態建立 HTML 內容的程式。

JavaScript 的客戶端機制提供了許多優於傳統 CGI 伺服器端指令碼的優勢。例如,您可以使用 JavaScript 檢查使用者是否在表單欄位中輸入了有效的電子郵件地址。

當用戶提交表單時,將執行 JavaScript 程式碼,並且只有在所有條目都有效時,才會將其提交到 Web 伺服器。

JavaScript 可用於捕獲使用者發起的事件,例如按鈕點選、連結導航以及使用者顯式或隱式發起的其他操作。

用於 JavaScript 開發的流行客戶端庫有 ReactJS、NextJS、Vue JS、Angular JS 等。

伺服器端 JavaScript

在早期,JavaScript 用於前端開發,為 HTML 頁面新增行為。自 2009 年以來,JavaScript 也用作伺服器端程式語言來構建可擴充套件的動態 Web 應用程式。

Node.js 是用於使用 JavaScript 構建應用程式伺服器的最佳且最流行的 JavaScript 執行時環境之一。使用Node.js,我們可以在瀏覽器外部執行 JavaScript 程式碼並管理伺服器任務。伺服器任務可以是與資料庫、APIS、檔案處理或網路通訊的互動。由於 Node.js 的事件驅動架構,它比其他伺服器端程式語言更快。

JavaScript 的優點

使用 JavaScript 的優點包括:

  • 減少伺服器互動 - 您可以在將頁面傳送到伺服器之前驗證使用者輸入。這節省了伺服器流量,這意味著伺服器負載更輕。

  • 向訪問者提供即時反饋 - 他們不必等待頁面重新載入即可檢視是否忘記輸入某些內容。

  • 增強互動性 - 您可以建立在使用者將滑鼠懸停在上面或透過鍵盤啟用時做出反應的介面。

  • 更豐富的介面 − 您可以使用 JavaScript 來包含諸如拖放元件和滑塊等專案,為您的網站訪問者提供豐富的介面。

JavaScript 的侷限性

我們不能將 JavaScript 視為一門完整的程式語言。它缺少以下重要功能 −

  • 客戶端 JavaScript 不允許讀取或寫入檔案。出於安全原因,此功能被限制。

  • JavaScript 不能用於網路應用程式,因為沒有此類支援。

  • JavaScript 沒有多執行緒功能。

  • 再次強調,JavaScript 是一種輕量級的解釋型程式語言,它允許您在原本靜態的 HTML 頁面中構建互動性。

命令式與宣告式 JavaScript

命令式和宣告式是程式設計正規化,JavaScript 遵循這兩種正規化。

  • 命令式 JavaScript − 在命令式 JavaScript 中,我們以程式碼描述獲取輸出的步驟的方式編寫程式碼。因此,我們同時關注程式碼執行流程和輸出。例如,要對所有陣列元素求和,如果我們編寫 for 迴圈程式碼,它會解釋獲取和的每個步驟。

  • 宣告式 JavaScript − 在宣告式 JavaScript 中,我們不需要擔心執行流程,但我們應該在最後得到正確的輸出。例如,我們使用內建的 array.reduce() 方法來獲取陣列元素的和。在這裡,我們不關心 reduce() 方法在庫中是如何實現的。

JavaScript 開發工具

JavaScript 的主要優勢之一是它不需要昂貴的開發工具。您可以從簡單的文字編輯器(如記事本)開始。由於它是在 Web 瀏覽器上下文中解釋的語言,您甚至不需要購買編譯器。

以下是一些在使用 JavaScript 開發應用程式時可能有所幫助的免費工具。

  • Visual Studio Code (VS Code) − VS Code 是大多數開發人員用來編寫 JavaScript 程式碼的程式碼編輯器。它功能豐富,包含各種可以提高任何開發人員生產力的擴充套件。

  • Chrome 開發者工具 − 程式設計師可以使用 Chrome 開發者工具除錯 JavaScript 程式碼。但是,他們可以使用任何瀏覽器的除錯工具,因為大多數瀏覽器都自帶此工具。

以上 2 個工具提高了開發人員編寫程式碼的效率。此外,您還可以使用其他工具,如 Git 進行版本控制,Webpack 構建您的應用程式等。

JavaScript 的現狀

2015 年,JavaScript 的 ES6 版本釋出,並進行了重大增強,包括面向物件的概念、匿名函式、模板字面量等。在2023 年 6 月,JavaScript 的第 14 個版本 ES14 (ECMAScript 2023) 釋出。

廣告