本篇系列文為《You Don't Know JS》的讀書筆記,並搭配其他補充資料,寫下自己對這門語言的理解。
作為前端工程師,JavaScript 的各種實作細節是無法避開的課題,在一次次閱讀各種文件和文章,加上工作中累積的實作經驗,也算是對 JavaScript 建立起了相關的知識體系。於是就想藉著這次讀書筆記的機會,來和大家分享我所知道的 JavaScript。
所以說......就是要搞懂 JavaScript 啦!之前搞不懂的、一知半解的、模模糊糊的,這一次通通給他弄懂!
上一篇介紹過了屬性描述器,這裡詳細介紹資料與訪問描述器兩者共享的屬性特徵,以及資料描述器擁有的屬性特徵,並在下一篇說明訪問描述器。 共享的描述器 資料與訪問描...
屬性訪問 程式在執行物件屬性訪問(property accesses)時有一個的細節。比方說 obj.a 並不只是找到一個 obj 物件,然後取得它的 a 屬性...
不可變性(Immutability) 有的時候,我們會希望將物件或物件屬性設置為不可變的,以防止意外地改變了其內容。JS 在 ES5 加入了幾種方法,讓我們能夠...
前面曾經說過,在 JS 中的型別分為兩大類,一類是基本型別,又稱原生型別(Primitive Types),另一類就是物件型別(Object Types)。 物...
實例物件 v.s. 建構子函式 在深入探討原型之前,這裡稍微拉出來講,物件和建構子函式彼此的關係是什麼? 在類導向(Class-orientation)的語言中...
前面提到了,JS 是實作原型基礎物件導向程式設計(Prototype-based OOP)的語言,那麼這個最重要的原型(Prototype)究竟是什麼? 在 J...
就如同前面所說,JS 是實踐物件導向設計的語言,使用物件模擬真實世界,因此如何創造和操縱物件可說是 JS 的核心。 先前已經提過,JS 中有幾種方法能夠創造物件...
在進入到原型的第一章節時,說明了 JS 是以物件導向為基本設計概念的語言,在前幾章也陸續說明了原型作用機制與相關概念,以下就來實際檢視一下,物件導向在 JS 中...
這章終於來到原型基礎物件導向的另一個核心概念:「繼承(Inheritance)」。 繼承主要的目的,就是為了讓一個物件能夠使用另一個物件的屬性和方法,如此能夠提...
多型這個字的英文「Polymorphism」意為「多結構」,放在程式設計當中,指的是同樣名稱的方法擁有不同行為。一般是指改寫父類別衍生的子類別方法,達成多型的效...