所以,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 –