ECMA-262 के अनुसार, भाग 11.13, निम्नलिखित यौगिक असाइनमेंट ऑपरेटरों की संपूर्ण सूची है *= /= %= += -= <<= >>= >>>= &= ^= |=
:।
हिस्सा 11.11 के अनुसार, var c = a || b
डाल देंगे a
में मूल्य c
यदि ToBoolean(a)
सच है और रखा जाएगा b
में मूल्य c
अन्यथा। जैसे, तार्किक या अक्सर कोलेसस ऑपरेटर के रूप में उपयोग किया जाता है, जैसे
function (options) {
options = options || {};
}
अक्सर पर्याप्त, चर का उपयोग चर के लिए डिफ़ॉल्ट मान को निर्दिष्ट करने के लिए किया जाता है, जैसा कि ऊपर दिखाया गया था a = a || b
:।
ऐसा लगता है कि कंपाउंड असाइनमेंट ऑपरेटर ||=
वास्तव में उपयोगी होगा, जिससे कोड को छोटे और साफ-सुथरे तरीके से ऊपर लिखा जा सकेगा a ||= b
:। हालांकि, यह वहां नहीं है (हालांकि *=
, +=
और अन्य मिश्रित असाइनमेंट ऑपरेटर हैं)।
सवाल है, क्यों?
+=
, *=
, -=
, /=
, क्यों नहीं होगा %=
काम?)।
angle %= 360
या vertexIndex %= numberOfVertices
एक बंद बहुभुज की शीर्ष सूची के लिए)।
||=
और &&=
जल्द ही आने वाला है: "आपको यह जानकर खुशी हो सकती है कि JS2 / ES4 के लिए, = = और & = को जोड़ा जा रहा है। = = सबसे अधिक है।" दोनों में से उपयोगी है, लेकिन && के असाइनमेंट-ऑप फॉर्म को छोड़ने का कोई कारण नहीं है। " ।