原生 JavaScript 是一個入門門檻相對容易的程式語言,讓人又愛又恨——愛它容易起步上手,恨它藏著各種魔鬼的細節。
這個系列的目標是以清晰易懂的方式,探討原生 JavaScript 一些讓人混淆、容易造成 Coding 失誤、或不那麼確切清楚的特性或觀念,預計也會探討一些 ES6、ES7、ES8 的新特性。
期待這個過程能像 2019 iT 邦幫忙鐵人賽的意象——「勇者鬥惡龍」一般,斬破 JavaScript 惡魔般的迷霧!
近年 JavaScript 像個炙手可熱的大明星。 印象中,八、九年前的 JavaScript 並沒有那麼引人注目。當然,要寫網頁,HTML、CSS、JavaS...
「JavaScript 是動態型別」,很多人會說知道。 「JavaScript 是弱型別」,也有很多人會說知道。 「JavaScript 是動態型別加弱型別」,...
上一篇介紹了動態型別和靜態型別的差別,這一篇來看到弱型別和強型別。 強型別 vs. 弱型別 強型別的例子 強型別的例子,我們一樣拿型別界的乖寶寶 —— Java...
前兩篇文章介紹了什麼是動態型別、靜態型別、強型別、弱型別,也知道了幾個常見語言分屬哪種類別。 懶人包複習一下: 靜態語言/動態語言:變數和型別的綁定方法。...
一個變數什麼時候開始發揮作用?這個問題的答案很單純——當一個變數被宣告。 那一個變數什麼時候失效?這個問題的答案就複雜多了。 (Source: 網路) 俗話說:...
星爺強碰阿湯哥誰會贏?Global Scope vs. Function Scope (Source: 網路1 / 網路2) 俗話說天高皇帝遠,十里外的瀑布不如...
長久以來 JavaScript 宣告變數所用的關鍵字 (Keyword) 都是 var。 大家已經非常習慣,甚至在 let 和 const 導入這麼久之後,仍時...
上一篇文章介紹了傳統 var 關鍵字宣告變數的缺點。 懶人包支援: 語法允許重複宣告 (Re-Declaring) 不支援區塊作用域 (Block Scop...
前幾天的文章談到各種等級的 Scope 效果。 懶人包支援: 在 JavaScript 裡,有 3 種等級的作用域: 香港喜劇天王星爺——Function...
有沒有注意過 JavaScript 裡一個神奇的現象? 比如以下程式: console.log(x); 執行結果: Uncaught ReferenceErr...