TypeScript 如果在范围内声明了Infinity,枚举值1/0的转换不正确,

fykwrbwg  于 7个月前  发布在  TypeScript
关注(0)|答案(2)|浏览(88)

Bug报告

🔎 搜索词

无限枚举变量 let 阴影

🕗 版本与回归信息

我测试的每个版本

⏯ Playground链接

带有相关代码的Playground链接

💻 代码

  1. {
  2. let Infinity = 3;
  3. enum A {
  4. X = 1 / 0
  5. }
  6. console.log(A.X)
  7. }

🙁 实际行为

  1. {
  2. let Infinity = 3;
  3. let A;
  4. (function (A) {
  5. A[A["X"] = Infinity] = "X";
  6. })(A || (A = {}));
  7. console.log(A.X);
  8. }

以及日志 3

🙂 预期行为

它应该记录 1 / 0 的结果,即 Infinity
这与 #54981 有点相关。

pod7payv

pod7payv1#

这也适用于$x_{NaN}$?

$x_{

  1. {
  2. let Infinity = 3;
  3. let NaN = 5;
  4. enum A {
  5. X = 1 / 0,
  6. B = 0 / 0,
  7. }
  8. console.log(A.X)
  9. console.log(A.B)
  10. }

}$

展开查看全部
7xllpg7q

7xllpg7q2#

是的 👍

相关问题