Die logische UND Zuweisung abgekürzt, bedeutet, dass x &&= y
gleichwertig ist mit x && (x = y)
, auÃer dass der Ausdruck x
nur einmal ausgewertet wird.
Es wird keine Zuweisung durchgeführt, wenn die linke Seite nicht truthy ist, aufgrund der Abkürzungslogik des logischen UND Operators. Zum Beispiel wirft das Folgende keinen Fehler, obwohl x
eine const
ist:
Auch würde das Folgende den Setter nicht auslösen:
const x = {
get value() {
return 0;
},
set value(v) {
console.log("Setter called");
},
};
x.value &&= 2;
Tatsächlich, wenn x
nicht truthy ist, wird y
überhaupt nicht ausgewertet.
const x = 0;
x &&= console.log("y evaluated");
// Logs nothing
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4