From: Alex Lam S.L Date: Sat, 22 Aug 2020 17:03:48 +0000 (+0800) Subject: enhance `comparisons` (#4062) X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=f2d486e771271ce03f25a50a6107cb87735a681d;p=UglifyJS.git enhance `comparisons` (#4062) --- diff --git a/lib/compress.js b/lib/compress.js index 595e5032..bcaecb8a 100644 --- a/lib/compress.js +++ b/lib/compress.js @@ -7112,7 +7112,7 @@ merge(Compressor.prototype, { && self.right instanceof AST_SymbolRef && self.left.definition() === self.right.definition() && is_object(self.left)) { - return make_node(self.operator[0] == "=" ? AST_True : AST_False, self); + return make_node(self.operator[0] == "=" ? AST_True : AST_False, self).optimize(compressor); } break; case "&&": diff --git a/test/compress/comparisons.js b/test/compress/comparisons.js index f93ccbe1..a04498ee 100644 --- a/test/compress/comparisons.js +++ b/test/compress/comparisons.js @@ -123,6 +123,29 @@ self_comparison_3: { ] } +self_comparison_4: { + options = { + booleans: true, + comparisons: true, + reduce_vars: true, + toplevel: true, + unused: true, + } + input: { + var o = {}; + console.log(o == o, o != o); + console.log(o === o, o !== o); + } + expect: { + console.log(!0, !1); + console.log(!0, !1); + } + expect_stdout: [ + "true false", + "true false", + ] +} + issue_2857_1: { options = { comparisons: true,