산술 연산자: 계산을 할 때 주로 쓰는 연산자. 사칙연산(+,-,*,/,%), 제곱(**) 그 외 등등.
증가 연산자: ++. 이걸 쓰면 수가 1 증가한다는 의미가 된다. 앞에 오면 전위(postfix), 뒤에 오면 후위(prefix)라고 한다.
앞에 오면 계산이 이루어진 후 결과값이 나오고, 뒤에 오면 결과값이 먼저 나온 뒤 계산이 이루어진다.
let num = 3;
let res = num++;
console.log(res);
console.log(num);
=>결과값은 각각 3과 4.let num2 = 5;
let res2 = ++num2;
console.log(res2);
console.log(num2);
=>결과값은 둘 다 6.
둘 다 원본(num, num2)의 값이 바뀐다.
증감연산자에 대한 메커니즘은 좀 쓰면서 이해하든가, 더 찾아보고 공부하든가 해야 할 것 같다.
감소 연산자: --. 감소한다는 걸 제외하면 위의 증가 연산자와 동일하다.
비교 연산자: ==, ===, !=, !==, >, >=, <, <=. 비교할 때 쓴다. 조건문에서 주로 쓴다. 결과는 true 또는 false 값으로 나온다.
동등 연산자(==)는 자료형을 구분하지 않지만, 일치 연산자(===)는 자료형을 구분한다. 그래서 가급적 일치 연산자를 쓰는 것이 더 좋다.
대입 연산자: =. 왼쪽의 변수에 오른쪽의 값을 대입한다는 뜻. 만일 이미 값이 있다면 덮어씌운다.
논리 연산자: AND(&&), OR(||), NOT(!).
AND는 하나라도 false라면 false 값을 반환하고, OR는 하나라도 true면은 true 값을 반환한다. AND는 false 값이 나왔을 때, OR는 true 값이 나왔을 때 조건을 더 이상 보지 않고 그대로 종료한다. 그래서 AND 연산자를 쓸 때는 false 값이 나올 가능성이 높은 조건을 앞에, OR는 true 값이 나올 가능성이 높은 조건을 뒤에 쓰는 것이 효율적이다.
NOT 연산자는 참거짓 결과를 정반대로 바꾼다. true는 false로, false는 true로 바꾼다.
연산 결과값은 따로 저장해야 한다. 연산을 했을 때 원본은 변하지 않기 때문이다.