[LayaAir 2.0]JS支持弱引用的 如:WeakSet,为什么TypeScript不支持?

如题。
弱引用难道现在只有 JS版的 layabox 的版,才支持弱引用?
已邀请:

柒汐夜

赞同来自:

不是不支持,只是TS相对于JS多了层约束(类似监控你写代码的习惯,仅对于当前已有的声明文件下监控,也就是说并不准确),实际上就算你在TS照样使用WeakSet,编译报错,但实际上运行(ES6级以上环境下)是不报错的。JS和TS的区别,这个建议你去搜搜。。
 
解决WeakSet等因声明文件不足而出现的约束错误此等现象:
1.引用环境已存在的库,在tsconfig.json在lib添加对应的库即可,WeakSet对应的是ES6及以上的库都可以。(这个配置文件的操作方法很多,不仅能添加库,文件引用也可以)
2.新增对应的声明文件.d.ts,这种文件只是给约束加声明,实际上编译后不占代码空间。(这个好用,建议看)
3.活用obj['xxx']写法,俗称懒人写法,xxx对应对象的属性名,个人不推荐,但是很方便,啥都不用处理,如创建WeakSet可写成,var ws = new window['WeakSet'];
 
注:这是属于TS的特性,不关Laya的事

要回复问题请先

商务合作
商务合作