2017-05-13 387 views
2

我正在閱讀一個反應示例項目。這裏是減速機代碼:Javascript:什麼是javascript的功能

export const COUNTER_INCREMENT = 'COUNTER_INCREMENT'; 
export const COUNTER_DOUBLE_ASYNC = 'COUNTER_DOUBLE_ASYNC'; 

// ------------------------------------ 
// Action Handlers 
// ------------------------------------ 
const ACTION_HANDLERS = { 
    [COUNTER_INCREMENT] : (state, action) => state + action.payload, 
    [COUNTER_DOUBLE_ASYNC] : (state, action) => state * 2, 
}; 

我不知道該怎麼做ACTION_HANDLERS手段。這個javascript的功能是什麼?

感謝

+1

'ACTION_HANDLERS'只是用於此處的常數聲明通常,大寫標識符名稱的對象。沒有分配給它的特殊的隱藏含義。查看它使用的代碼部分。 – Bergi

回答

3

ACTION_HANDLERS只是與Computed property names一個JavaScript對象。

從ECMAScript 2015開始,對象初始化程序語法也支持計算屬性名稱。這允許你把一個表達式 置於括號[]中,這將作爲屬性名稱來計算。這是 對稱屬性訪問語法, 你可能已經習慣了閱讀並已經

設置屬性對於每一個動作類型的括號標記,它有一個arrow function

1

ACTION_HANDLERS是一個使用const關鍵字聲明的常量變量。一個常數就像一個常規變量,除此之外它的值不能被重新分配。

ACTION_HANDLERS在此情況下是包含處理函數