TypeScript commonjs export绑定在ForInOrOfStatement中未更新,

rur96b6h  于 9个月前  发布在  TypeScript
关注(0)|答案(1)|浏览(151)

TypeScript版本: 3.7.2
搜索词: commonjs export for of
代码

  1. // @module: commonjs
  2. // @target: esnext
  3. let foo = '';
  4. export { foo };
  5. for (foo in {}) { }
  6. for (foo of []) {}
  7. for ({foo} of [{foo}]) {}

预期行为:

for...infor...of 应该更新导出绑定。

  1. for (_a in {}) {
  2. exports.foo = foo = _a;
  3. }
  4. for (_b of []) {
  5. exports.foo = foo = _b;
  6. }
  7. for (_c of [{foo}]) {
  8. exports.foo = foo = _c.foo;
  9. }

实际行为:

绑定未更新

** playground链接:**https://www.typescriptlang.org/play/?target=99&module=1#code/DYUwLgBAZg9jEF4IHJkG4BQIAeAHGATpAN7RwQC+msBEAFLPAJYB2ExFAlO5RjfYwgwoEANoBdbhz6F6xRhSEjR8uBUnsKQA

z0qdvdin

z0qdvdin1#

在Babel中也存在相同的错误:babel/babel#10941

相关问题