Microsoft/TypeScript
在 GitHub 查看Repeated single line comment after variable declaration in if/for block when targeting ES5
Open
#50,209 建立於 2022年8月6日
BugDomain: Comment EmitHelp Wanted
倉庫指標
- Star
- (48,455 star)
- PR 合併指標
- (平均合併 6天 17小時) (30 天內合併 9 個 PR)
描述
Bug Report
🔎 Search Terms
comment
🕗 Version & Regression Information
- This changed between versions 4.6.4 and 4.7.4
⏯ Playground Link
Playground link with relevant code
💻 Code
let x: number
// #if MEMORY64
x = 8
// #else
x = 4
// #endif
function f (b: boolean) {
if (b) {
let y: number
// #if MEMORY64
y = 8
// #else
y = 4
// #endif
}
for (let i = 0; i < 10; ++i) {
let z: number
// #if MEMORY64
z = 8
// #else
z = 4
// #endif
}
}
🙁 Actual behavior
Output JavaScript using typescript 4.7.4
"use strict";
var x;
// #if MEMORY64
x = 8;
// #else
x = 4;
// #endif
function f(b) {
if (b) {
var y
// #if MEMORY64 // <----- ???
= void 0;
// #if MEMORY64
y = 8;
// #else
y = 4;
// #endif
}
for (var i = 0; i < 10; ++i) {
var z
// #if MEMORY64 // <----- ???
= void 0;
// #if MEMORY64
z = 8;
// #else
z = 4;
// #endif
}
}
🙂 Expected behavior
Output JavaScript using typescript 4.6.4
"use strict";
var x;
// #if MEMORY64
x = 8;
// #else
x = 4;
// #endif
function f(b) {
if (b) {
var y = void 0;
// #if MEMORY64
y = 8;
// #else
y = 4;
// #endif
}
for (var i = 0; i < 10; ++i) {
var z = void 0;
// #if MEMORY64
z = 8;
// #else
z = 4;
// #endif
}
}