ES6中Class的方法不可遍历的原因,TS中遍历Class的方法出现二义性的问题
前言
今天写了一段Ts代码,发现编译成ES5和ES6时的执行结果居然不同,花了点时间学习了一下,总结如下。
问题
在ts代码中,使用in操作符遍历对象成员,将代码编译成ES5和ES6时,结果是不同的。
原因
es6中class的所有非静态方法虽然是定义到原型对象上的,但是却是不可遍历的,源码如下
// 为target对象添加属性
function _defineProperties(target, props) {
for (var i = 0; i < props.length; i++)
原创
2022-04-03 21:04:05 ·
1559 阅读 ·
0 评论