Up There
증감 연산자 & 논리 연산자 본문
: 증감 연산자는 피연산자를 1씩 증가 혹은 감소시킬 때 사용하는 연산자입니다. 이 연산자는 피연산자가 단 하나뿐인 단항 연산자입니다.
증감 연산자는 해당 연산자가 피연산자의 어느 쪽에 위치하는가에 따라 연산의 순서 및 결과가 달라집니다.
x++ : 먼저 해당 연산을 수행하고 나서, 피연산자의 값을 1 증가시킴.
++x : 먼저 피연산자의 값을 1 증가시킨 후에 해당 연산을 진행함.
마이너스도 마찬가지.
증감 연산자의 연산 순서
증감 연산자는 피연산자의 어느 쪽에 위치하는가에 따라 연산의 순서가 달라집니다.
var x = 10;
var y = x-- + 5 + --x;
// x = 8, y = 23
① : 첫 번째 감소 연산자(decrement operator)는 피연산자의 뒤쪽에 위치하므로, 덧셈 연산이 먼저 수행됩니다.
② : 덧셈 연산이 수행된 후에 감소 연산이 수행됩니다. (x의 값 : 9)
③ : 두 번째 감소 연산자는 피연산자의 앞쪽에 위치하므로, 덧셈 연산보다 먼저 수행됩니다. (x의 값 : 8)
④ : 감소 연산이 수행된 후에 덧셈 연산이 수행됩니다.
⑤ : 마지막으로 변수 y에 결괏값의 대입 연산이 수행됩니다. (y의 값 : 23)
비교 연산자
: 비교 연산자는 피연산자 사이의 상대적인 크기를 판단하여, 참(true)과 거짓(false)을 반환합니다. 비교 연산자는 모두 두 개의 피연산자를 가지는 이항 연산자이며, 피연산자들의 결합 방향은 왼쪽에서 오른쪽입니다.
동등 연산자와 일치 연산자
: 동등 연산자(==, equal)와 일치 연산자(===, strict equal)는 모두 두 개의 피연산자가 서로 같은지를 비교해 줍니다. 두 연산자 모두 피연산자의 타입을 가리지는 않지만, 그 같음을 정의하는 기준이 조금 다릅니다.
논리 연산자(logical operator)
: 논리 연산자는 주어진 논리식을 판단하여, 참(true)과 거짓(false)을 반환합니다.
&& 연산자와 || 연산자는 두 개의 피연산자를 가지는 이항 연산자이며, 피연산자들의 결합 방향은 왼쪽에서 오른쪽입니다.
! 연산자는 피연산자가 단 하나뿐인 단항 연산자이며, 피연산자의 결합 방향은 오른쪽에서 왼쪽입니다.
&& : 논리식이 모두 참이면 참을 반환함. (논리 AND 연산)
|| : 논리식 중에서 하나라도 참이면 참을 반환함. (논리 OR 연산)
! : 논리식의 결과가 참이면 거짓을, 거짓이면 참을 반환함. (논리 NOT 연산)
var x = true, y = false;
document.write((x && y) + "<br>"); // false (논리 AND 연산)
document.write((x || y) + "<br>"); // true (논리 OR 연산)
document.write(!x); // false (논리 NOT 연산)