回顧
還記得剛開始學習JavaScript 這門語言時 會講到關鍵字和保留字,當時的理解的不太深入,只知道這些詞不可以用作變數名和 函式名, 是語言的組成部分,有特別的含義!
疑問
在官方的 ECMA-Script 262 第8版的文件中,一共有 34 個關鍵詞, 一些我認為是關鍵詞的並沒有出現,這裡把他們列出來,和大家探討一下
let foo = 'bar' // 1. let 定義變數的新語法, 支援解構,無變數提升
import React from 'react' // 2. from 在匯入時 使用 指定來源
import { _Set as Set } from '../util/index' // 3. as 匯入時指定別名
async function() {} // 4. async 這個非同步函式修飾器 也不是關鍵詞嗎
複製程式碼
我自己列出來的版本
var let const // 3 宣告變數 傳統宣告, 新的宣告方式,支援解構和設定預設值, const 宣告常量
debugger; // 1 打斷點除錯專用
if else // 2 條件判斷語句,非常基礎了
switch case break default // 4 多重條件判斷語句
try catch finally throw // 4. 使用者捕獲錯誤 或 丟擲錯誤
in // 1. 用於判斷 物件的屬性是否存在 ,或 for...in 遍歷
for while do //3. 用於迴圈 for 迴圈, while 迴圈,do... while() 迴圈
break continue // 2. 結束當前迴圈 和 路過單次迴圈
async await // 2 非同步函式,和 等待非同步函式執行完畢
new // 1 呼叫一個建構函式,得到一個物件
this // 1. 在建構函式,或物件方法內使用,指向呼叫者
delete // 1. 用於刪除一個屬性 delete obj.a
of // 用於 for...of 迴圈 遍歷 可以迭代物件
with // 使用的機會比較少 , 可以改變作用域
class extends super // class 用來定義類 extends 實現繼承, super 可以指向 父類
function return // 2 定義函式以及 從函式中返回值
yield // 一般在 生成器 函式 內使用,用於暫停執行內部程式碼
import export default from // 用於 匯入 和 匯出,ES6 模組化
typeof, void, instanceof // 判斷型別, 得到 undefined, 判斷一個型別是不是 建構函式的例項
複製程式碼
結語
語言之間總相互借鑑的,現在的 JavaScript 有 JavaScript 的影子,也參考 了一些 python 的語法如 yield , ** ,雖然這門語言更新的比較快,我想著還是朝著更好的方向發展了!PS:感謝各位的閱讀,如有錯誤或不完整的地方,歡迎指正!