Files
test-repo/tests/format/js/logical-expression/logical-expression-operators.js
2026-09-11 17:15:23 +08:00

33 lines
815 B
JavaScript

// Same operators do not require parens
(foo && bar) && baz;
foo && (bar && baz);
foo && ((bar && baz) && qux);
foo && (bar && (baz && qux));
foo && (bar && ((baz && qux) && xyz));
foo && (bar && (baz && (qux && xyz)));
(foo || bar) || baz;
foo || (bar || baz);
foo || ((bar || baz) || qux);
foo || (bar || (baz || qux));
foo || (bar || ((baz || qux) || xyz));
foo || (bar || (baz || (qux || xyz)));
(foo ?? bar) ?? baz;
foo ?? (bar ?? baz);
foo ?? ((bar ?? baz) ?? qux);
foo ?? (bar ?? (baz ?? qux));
foo ?? (bar ?? ((baz ?? qux) ?? xyz));
foo ?? (bar ?? (baz ?? (qux ?? xyz)));
// Explicitly parenthesized && and || requires parens
(foo && bar) || baz;
(foo || bar) && baz;
foo && (bar || baz);
foo || (bar && baz);
// Implicitly parenthesized && and || requires parens
foo && bar || baz;
foo || bar && baz;