
- ES6 教程
- ES6 - 首頁
- ES6 - 概述
- ES6 - 環境
- ES6 - 語法
- ES6 - 變數
- ES6 - 運算子
- ES6 - 決策語句
- ES6 - 迴圈
- ES6 - 函式
- ES6 - 事件
- ES6 - Cookie
- ES6 - 頁面跳轉
- ES6 - 對話方塊
- ES6 - void關鍵字
- ES6 - 頁面列印
- ES6 - 物件
- ES6 - 數字
- ES6 - 布林值
- ES6 - 字串
- ES6 - Symbol
- ES6 - 新的字串方法
- ES6 - 陣列
- ES6 - 日期
- ES6 - 數學
- ES6 - 正則表示式
- ES6 - HTML DOM
- ES6 - 迭代器
- ES6 - 集合
- ES6 - 類
- ES6 - Map和Set
- ES6 - Promise
- ES6 - 模組
- ES6 - 錯誤處理
- ES6 - 物件擴充套件
- ES6 - Reflect API
- ES6 - Proxy API
- ES6 - 驗證
- ES6 - 動畫
- ES6 - 多媒體
- ES6 - 除錯
- ES6 - 圖片地圖
- ES6 - 瀏覽器
- ES7 - 新特性
- ES8 - 新特性
- ES9 - 新特性
- ES6 有用資源
- ES6 - 快速指南
- ES6 - 有用資源
- ES6 - 討論
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在宣告元件之前使用它。但是,提升的概念不適用於在嚴格模式下執行的指令碼。
變數提升和函式提升將在後續章節中解釋。