support nullish coalescing operator (#4678)

This commit is contained in:
Alex Lam S.L
2021-02-23 21:57:11 +00:00
committed by GitHub
parent d68d155f93
commit c885660347
16 changed files with 177 additions and 36 deletions

View File

@@ -753,7 +753,9 @@ function OutputStream(options) {
if (p instanceof AST_Binary) {
var po = p.operator, pp = PRECEDENCE[po];
var so = this.operator, sp = PRECEDENCE[so];
return pp > sp || (pp == sp && this === p[po == "**" ? "left" : "right"]);
return pp > sp
|| po == "??" && (so == "&&" || so == "||")
|| (pp == sp && this === p[po == "**" ? "left" : "right"]);
}
// (foo && bar)()
if (p instanceof AST_Call) return p.expression === this;