Microsoft/TypeScript
GitHub ã§èŠãRepeated single line comment after variable declaration in if/for block when targeting ES5
Open
#50,209 opened on 2022幎8æ6æ¥
BugDomain: Comment EmitHelp Wanted
Repository metrics
- Stars
- Â (48,455 stars)
- PR merge metrics
-  (å¹³åããŒãž 6d 17h) (30d ã§ 9 merged PRs)
説æ
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
}
}