所以,ES6的語法謎題。至於我可以看到,如果你創建一個JavaScript類,例如:DragonSlayer然後創建該類的實例,你需要使用'新'關鍵字。Immutable.js如何省略new關鍵字?
let girl = new DragonSlayer();
如果你不想使用'new'關鍵字,你可以創建一個包裝函數。
function ADragonSlayer() {
return new DragonSlayer() }
let girl = ADragonSlayer();
那麼任何人都可以向我解釋Immutable.js庫的工作原理嗎?
似乎創建一個名爲List的類,然後將該類的對象作爲同名屬性(您在導入過程中通過解構獲得)導出。然而要創建一個實例,你可以直接調用這個函數。
const { List } = require('immutable')
let newList = List();
我在源代碼周圍覓食,但到目前爲止一直未能得到怎麼這麼黑魔法已經架構的手柄。任何人都有一些指針?
文庫被轉化到ES5(ES3):https://github.com/facebook/immutable-js/blob/c0308e7944956c2e3d5afe6c80a4869a92980f11/dist/immutable.js#L2899 –