Microsoft/TypeScript
Vedi su GitHubRepeated single line comment after variable declaration in if/for block when targeting ES5
Open
#50.209 aperta il 6 ago 2022
BugDomain: Comment EmitHelp Wanted
Metriche repository
- Star
- (48.455 star)
- Metriche merge PR
- (Merge medio 6g 17h) (9 PR mergiate in 30 g)
Descrizione
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
}
}