本篇系列文為《You Don't Know JS》的讀書筆記,並搭配其他補充資料,寫下自己對這門語言的理解。
作為前端工程師,JavaScript 的各種實作細節是無法避開的課題,在一次次閱讀各種文件和文章,加上工作中累積的實作經驗,也算是對 JavaScript 建立起了相關的知識體系。於是就想藉著這次讀書筆記的機會,來和大家分享我所知道的 JavaScript。
所以說......就是要搞懂 JavaScript 啦!之前搞不懂的、一知半解的、模模糊糊的,這一次通通給他弄懂!
硬绑定(Hard Binding) 硬绑定算是明確綁定的變種,效果等同於 bind。由於在 ES5 之前的 JS 版本,還沒有 bind 這個函式方法,使用硬綁...
new 绑定(new Binding) 在一般類別導向(class-orientation)的語言中,建構子(constructors)是附在類(class)上...
ES6 以後,JS 新增了一個完全跳脫原本 this 規則的特殊函式,也就是「箭頭函式(Arrow-Function)」。 它不透過 function 關鍵字宣...
這裡稍微複習一下,JS 中的 this 會由於調用方式不同而改變指向的物件,基本上有以下幾種: 默認綁定(Default Binding):this 在 st...
講完 this 之後,接著就來說說 this 指向的物件了。 在 JS 中,主要有 7 種型別,外加 2 種物件的子型別。 string number...
物件的宣告 JS 物件有兩種宣告形式: 宣告形式(declarative / literal form) var myObj = { key: value...
內建物件是什麼? 在 JS 中,所謂的內建物件(Built-in Objects)其實是一系列的內建函式,它們每個都可以被當成建構子(Constructor)使...
傳值 v.s. 傳址 在程式中,傳遞內容基本上有兩種方法,一種是傳值,另一種則是傳址(又稱傳參): 傳址/傳參(Call by reference / Pas...
存在性(Existence) 在操作 JS 的物件屬性時,我們有時會有個困惑: 如果存取某個物件的值時返回了 undefined,那麼這個屬性到底是本來就不存在...
屬性描述器(Property Descriptors) 我們已經知道,物件內藉由儲存屬性這樣一個參考來指向實際值/內容。 JS 在 ES5 的版本以後,新增了「...