diff --git a/lib/compress.js b/lib/compress.js index 46b6f88f..6dc37667 100644 --- a/lib/compress.js +++ b/lib/compress.js @@ -2356,7 +2356,7 @@ Compressor.prototype.compress = function(node) { if (prop.key instanceof AST_Node) prop.key = prop.key.transform(tt); if (prop.static) { if (prop instanceof AST_ClassField) { - props.push(prop); + if (prop.value) props.push(prop); } else if (prop instanceof AST_ClassInit) { props.unshift(prop); } diff --git a/test/compress/classes.js b/test/compress/classes.js index b9d8f2df..a1af2560 100644 --- a/test/compress/classes.js +++ b/test/compress/classes.js @@ -3179,3 +3179,25 @@ issue_5502: { expect_stdout: "PASS 42" node_version: ">=12" } + +issue_5504: { + options = { + collapse_vars: true, + } + input: { + "use strict"; + var a; + console.log((a = 42, class { + static p; + }).p); + } + expect: { + "use strict"; + var a; + console.log((a = 42, class { + static p; + }).p); + } + expect_stdout: "undefined" + node_version: ">=12" +}