this


本文章摘錄自從ES6開始的JavaScript學習生活一書中的內容。有興趣可以前往觀看。

在其他以類別為基礎的程式語言中,this指的是目前使用類別進行實體化的物件。而JavaScript語言中因為沒有類別這種東西,設計上也不一樣,this的指向的是目前呼叫函式或方法的擁有者(owner)物件,也就是說它與函式如何被調用有關,雖然是同一函式的呼叫,因為不同的物件呼叫,也有可能是不同的this值。

閱讀全文

Closure 閉包


本文章摘錄自從ES6開始的JavaScript學習生活一書中的內容。有興趣可以前往觀看。

閉包定義

Closure這個字詞是由Close與字尾-ure所構成,-ure有"動作"、"進行"或"結果"的意思,如果close是關閉的意思,clousure就是關閉的結果或動作,它可以作為名詞或動詞使用,中文有"封閉"、"終止"或"結束"的意思。

由於JavaScript語言中的函式是頭等函式(first-class function)的設計,代表函式在語言中的應用上享有與一般原始資料類型的值同等地位,函式可以傳入其他函式作為傳入參數,可以當作另一個函式的回傳值,也可以指定為一個變數的值,或是儲存在資料結構中(例如陣列或物件),在語言中甚至是有自己獨有的資料類型(typeof一個函式回傳值是'function')。

閉包是一種資料結構,包含函式以及記住函式被建立時當下環境。

閱讀全文

Callback 回調


本文章摘錄自從ES6開始的JavaScript學習生活一書中的內容。有興趣可以前往觀看。

Callback(回調)是什麼?

中文翻譯字詞會用"回呼""、"回叫"、"回調",都是聽起來很怪異的講法,Callback在英文是"call back"兩個單字的合體,你應該有聽過"Call me back"的英文,實際情況大概是有客戶打來電話給你,可是你正在電話中,客戶會留話說請你等會有空時再"回電"給它,這裡的說法是指在電信公司裡的callback的涵意。而在程式開發上上,callback它的使用情境其實也是有類似的地方。

閱讀全文

Atom打造開發React的環境 - 簡介與套件


前言

本文說明了使用Atom打造開發React時使用的開發工具。Atom需要安裝不少套件才能使用,它並不是一個軟體就完全滿足所有需求的軟體,本文的目的是提供一些安裝與設定的經驗。另外,某些套件也需要進一步設定,尤其是某些特殊使用的軟體,需要另外搭配Node.js才能正常使用。

閱讀全文

設定開發React的環境 - React Hot Loader


對照之前的設定開發React的環境文章,經過了一段時間內又有一些新的修改。首先最大的修改部份是原本被棄用的react-hot-loader,現在又復活了,而react-transform-hmr則是被棄用。這兩個用法有一些小差異,本文快速的說明新的樣版文件(boilerplate)的一些設定部份。

閱讀全文

React使用ES6 Class


在React官方的文件中,你是不容易找到使用ES6 Class的方式,來定義React元件的教學或指引。這是一個特別的情況,是官方不認同這樣的作法,還是官方並不建議這樣的作法?

閱讀全文