Files
test-repo/tests/js/logical-assignment/logical-assignment.js
T

54 lines
1.0 KiB
JavaScript
Raw Normal View History

a ||= b;
a &&= "foo";
b ||= "foo";
c ??= "foo";
d &&= 42;
e ||= 42;
f ??= 42;
a.baz &&= result.baz;
b.baz ||= result.baz;
c.baz ??= result.baz;
a.foo["baz"] &&= result.foo.baz;
b.foo["baz"] ||= result.foo.baz;
c.foo["baz"] ??= result.foo.baz;
a.foo.bar().baz &&= result.foo.bar().baz;
b.foo.bar().baz ||= result.foo.bar().baz;
b.baz ||= result.baz;
c.baz ??= result.baz;
(results ||= []).push(100);
(results &&= []).push(100);
(results ??= []).push(100);
if ((thing &&= thing.original)) {
}
if ((thing &&= defaultValue)) {
}
if ((thing ||= defaultValue)) {
}
if ((thing ??= defaultValue)) {
}
f ||= (a) => a;
f &&= (a) => a;
f ??= (a) => a;
f ||= (f.toString(), (a) => a);
f &&= (f.toString(), (a) => a);
f ??= (f.toString(), (a) => a);
(results ||= results1 ||= []).push(100);
(results &&= results1 &&= []).push(100);
(results ??= results1 ??= []).push(100);
obj[incr()] ||= incr();
oobj["obj"][incr()] ||= incr();
obj[incr()] &&= incr();
oobj["obj"][incr()] &&= incr();
obj[incr()] ??= incr();
oobj["obj"][incr()] ??= incr();