js ts 没有强类型语言里的type
想用一个类的type,作为map的key
有什么代替方案?
js ts 没有强类型语言里的type
想用一个类的type,作为map的key
有什么代替方案?
JS 的class 只是语法糖,实际上还是原型链那套。class 本质不是type,而是一个构造函数(Function)。
比如声明一个 class ABC { }; abc = new ABC();
你可以通过constructor属性 获取abc的构造函数:
abc.constructor === ABC;
所以把ABC(或者ABC.name)作为map的 key就可以了。
注意js会压缩混淆,变成a.b.c.d这种状态,利用constructor属性很容易掉坑里
楼下说的对,常规数据类,混淆后,变成a.b.c.d这种状态。 组件类,似乎不会
这种情况应该通过配置来避免特定类的混淆,比如像java如果要使用反射获取类,这个类也是不能被混淆的。