Microsoft/TypeScript
Enum value `1 / 0` incorrectly transformed if there is `Infinity` declared in scope
開放
#55,091 建立於 2023年7月20日
BugDomain: enumHelp Wanted
倉庫指標
- 星標
- (108,860 顆星)
- PR 合併指標
- (PR 指標待抓取)
描述
Bug Report
🔎 Search Terms
infinity enum variable let shadow
🕗 Version & Regression Information
Every version I tested
⏯ Playground Link
Playground link with relevant code
💻 Code
{
let Infinity = 3;
enum A {
X = 1 / 0
}
console.log(A.X)
}
🙁 Actual behavior
{
let Infinity = 3;
let A;
(function (A) {
A[A["X"] = Infinity] = "X";
})(A || (A = {}));
console.log(A.X);
}
and logs 3
🙂 Expected behavior
It should log the result of 1 / 0, which is Infinity.
Somewhat related to https://github.com/microsoft/TypeScript/issues/54981.