ECMA-262, part 11.13에 따르면, 복합 할당 연산자의 전체 목록은 다음과 같습니다 *= /= %= += -= <<= >>= >>>= &= ^= |=
.
일부 11.11에 따르면, var c = a || b
둘 것이다 a
으로 값을 c
경우 ToBoolean(a)
true이고 넣어 것 b
으로 값을 c
, 그렇지 않으면. 따라서 논리적 OR 은 종종 통합 연산자로 사용됩니다.
function (options) {
options = options || {};
}
자주, 위에 표시된 것처럼 병합을 사용하여 변수의 기본값을 지정합니다 a = a || b
.
복합 할당 연산자 ||=
가 실제로 유용하여 위의 코드를 더 짧고 깔끔하게 작성할 수 a ||= b
있습니다. 그러나 ( 및 다른 복합 할당 연산자는 있지만 *=
) 존재하지 않습니다 +=
.
문제는 왜?
+=
, *=
, -=
, /=
, 왜 안 것 %=
일?).
angle %= 360
있거나 정규화하려고 할 때 편리합니다 (예 : 또는 vertexIndex %= numberOfVertices
닫힌 다각형의 정점 목록).
||=
과 같이 선언했으며 &&=
곧 올 것입니다. 두 가지 모두 유용하지만 할당 방식을 && 형식으로 남겨 둘 이유가 없습니다. " .