ES6 - 語法



語法定義了編寫程式的一套規則。每種語言規範都定義了自己的語法。

一個JavaScript程式可以由以下部分組成:

  • 變數 - 代表一個命名的記憶體塊,可以儲存程式的值。

  • 字面量 - 代表常量/固定值。

  • 運算子 - 定義運算元將如何被處理的符號。

  • 關鍵字 - 在語言環境中具有特殊含義的詞。

下表列出了一些JavaScript關鍵字。下表列出了一些常用的關鍵字。

break as any switch
case if throw else
var number string get
module type instanceof typeof
finally for enum export
while void this new
null super catch let
static return true false
  • 模組 - 代表可以在不同程式/指令碼中重複使用的程式碼塊。

  • 註釋 - 用於提高程式碼的可讀性。這些被JavaScript引擎忽略。

  • 識別符號 - 這些是賦予程式中元素(如變數、函式等)的名稱。識別符號的規則如下:

    • 識別符號可以包含字元和數字。但是,識別符號不能以數字開頭。

    • 識別符號不能包含特殊符號,下劃線 (_) 或美元符號 ($) 除外。

    • 識別符號不能是關鍵字。它們必須是唯一的。

    • 識別符號區分大小寫。識別符號不能包含空格。

下表列出了一些有效和無效的識別符號。

有效識別符號示例 無效識別符號示例

firstName

first_name

num1

$result

Var#

first name

first-name

1number

空格和換行符

ES6忽略程式中出現的空格、製表符和換行符。您可以在程式中自由使用空格、製表符和換行符,並且可以自由地以整潔一致的方式格式化和縮排程式,從而使程式碼易於閱讀和理解。

JavaScript區分大小寫

JavaScript區分大小寫。這意味著JavaScript區分大寫和小寫字元。

分號是可選的

每行指令稱為語句。在JavaScript中,分號是可選的。

示例

console.log("hello world") 
console.log("We are learning ES6") 

單行可以包含多個語句。但是,這些語句必須用分號分隔。

JavaScript中的註釋

註釋是一種提高程式可讀性的方法。註釋可以用來包含有關程式的其他資訊,例如程式碼的作者、關於函式/結構的提示等。編譯器會忽略註釋。

JavaScript支援以下型別的註釋:

  • 單行註釋 (//) - // 和行尾之間的任何文字都被視為註釋。

  • 多行註釋 (/* */) - 這些註釋可以跨越多行。

示例

//this is single line comment  
/* This is a  
Multi-line comment 
*/

您的第一個JavaScript程式碼

讓我們從傳統的“Hello World”示例開始。

var message = "Hello World" 
console.log(message)

程式可以分析如下:

  • 第1行宣告一個名為message的變數。變數是用於在程式中儲存值的機制。

  • 第2行將變數的值列印到提示符。這裡,console指的是終端視窗。log()函式用於在螢幕上顯示文字。

執行程式碼

我們將使用Node.js來執行我們的程式碼。

  • 步驟1 - 將檔案儲存為Test.js

  • 步驟2 - 在Visual Studio Code的專案資源管理器視窗中的工作檔案選項下,右鍵單擊Test.js檔案。

  • 步驟3 - 選擇“在命令提示符中開啟”選項。

  • 步驟4 - 在Node的終端視窗中鍵入以下命令。

node Test.js 

檔案成功執行後,將顯示以下輸出。

Hello World

Node.js和JS/ES6

ECMAScript 2015(ES6)特性分為三類:

  • 釋出版 - 這些是V8認為穩定的特性。

  • 分階段特性 - 這些特性幾乎已完成,但V8團隊認為不穩定。

  • 正在開發中 - 這些特性僅應用於測試目的。

第一類特性完全受支援,並且預設情況下由node啟用。分階段特性需要執行時 --harmony標誌才能執行。

Node.js的元件特定CLI標誌列表可以在此處找到:https://nodejs.org/api/cli.html

嚴格模式

ECMAScript規範的第五版引入了嚴格模式。嚴格模式對JavaScript施加了一層約束。它對正常的JavaScript語義進行了一些更改。

可以透過包含以下內容來轉換程式碼以在嚴格模式下工作:

// Whole-script strict mode syntax 
"use strict"; 
 v = "Hi!  I'm a strict mode script!";  // ERROR: Variable v is not declared

在上面的程式碼片段中,整個程式碼作為JavaScript的受約束變體執行。

JavaScript還允許限制函式範圍內的嚴格模式。如下所示:

v = 15 
function f1() { 
   "use strict"; 
   var v = "Hi!  I'm a strict mode script!"; 
}

在上面的程式碼片段中,函式外的任何程式碼都將在非嚴格模式下執行。函式內的所有語句都將在嚴格模式下執行。

ES6和提升

JavaScript引擎預設情況下會將宣告移動到頂部。此功能稱為提升。此功能適用於變數和函式。提升允許JavaScript在宣告元件之前使用它。但是,提升的概念不適用於在嚴格模式下執行的指令碼。

變數提升和函式提升將在後續章節中解釋。

廣告