Secondo ECMA-262, parte 11.13, seguito una lista esaustiva di operatori di assegnazione composti: *= /= %= += -= <<= >>= >>>= &= ^= |=.
Secondo la parte 11.11, var c = a || binserirà avalore in cif ToBoolean(a)è vero e inserirà bvalore in caltrimenti. Pertanto, l' OR logico viene spesso utilizzato come operatore di coalescenza, ad es
function (options) {
options = options || {};
}
Abbastanza frequenti, si fondono viene utilizzato per specificare il valore di default per la variabile, come è stato mostrato sopra: a = a || b.
Sembra che operatore di assegnamento composto ||=sarebbe davvero utile, che permette di scrivere il codice di cui sopra in modo più breve e più pulito: a ||= b. Tuttavia, non è presente (sebbene *=, +=e altri operatori di assegnazione composti siano).
La domanda è: perché?
+=, *=, -=, /=, perché non dovrebbero %=lavoro?).
angle %= 360o vertexIndex %= numberOfVertices(per l'elenco dei vertici di un poligono chiuso).
||=e &&=arriverà presto: "Potresti essere felice di sapere che per JS2 / ES4, vengono aggiunti anche || = e && =. || = è la maggior parte utile dei due, ma non c'è motivo di lasciare fuori la forma di assegnazione-op di && ". .