

삼항 조건 연산자는 조건식의 평가 결과에 따라 번환할 값을 결정한다. 표현식은 다음과 같다.
조건식 ? 조건식이 true일 때 반환할 값 : 조건식이 false일 때 반환할 값;
var x = 2;
var result = x % 2 ? '홀수' : '짝수';
console.log(result); // 짝수
이처럼 삼항 조건 연산자는 조건에 따른 값으로 평가되는 표현식인 문이다.
논리 연산자는 우항과 좌항의 피연산자(부정 논리 연산자의 경우 우항의 피연산자)를 논리 연산한다.
| 논리 연산자 | 의미 | 부수 효과 |
|---|---|---|
| || | 논리합(OR) | X |
| && | 논리곱(AND) | X |
| ! | 부정(NOT) | X |
쉼표 연산자는 왼쪽 피연산자부터 차례대로 피연산자를 평가하고 마지막 피연산자의 평가가 끝나면 마지막 피연산자의 평가 결과를 반환한다.
var x;
x = (2, 3);
console.log(x); // 3
typeof 연산자는 피연산자의 데이터 타입을 문자열로 반환한다.
typeof 연산자는 'string', 'number', 'boolean', 'undefined', 'symbol', 'object', 'function' 중 하나를 반환한다. 'null'을 반환하는 경우는 없으며, 함수는 'function'을 반환한다. (null은 object를 반환)
ES7에서 도입된 지수 연산자(**)는 좌항의 피연산자를 밑으로, 우항의 피연산자를 지수로 거듭 제곱한 값을 반환한다.
2 ** 2; // 4
2 ** 2.5; // 5.65685424949238
2 ** 0; // 1
// 음수를 밑으로 사용할 경우 괄호로 묶어야 한다.
(-5) ** 2; //25
// 지수 연산자는 이항 연산자 중에서 우선순위가 가장 높다.
2 * 5 ** 2; //50
| 우선순위 | 연산자 |
|---|---|
| 1 | () |
| 2 | new(매개변수 존재), ., [](프로퍼티 접근), ()(함수 호출), ?.(옵셔널 체이닝 연산자) |
| 3 | new(매개변수 미존재) |
| 4 | x++, x-- |
| 5 | !x, +x, -x, ++x, --x, typeof, delete |
| 6 | ** |
| 7 | *, /, % |
| 8 | +, - |
| 9 | <, <=, >, >=, in, instanceof |
| 10 | ==, !=, ===, !== |
| 11 | ??(null 병합 연산자) |
| 12 | && |
| 13 | || |
| 14 | ? ... : ... (삼항 연산자) |
| 15 | 할당 연산자(=, +=, -=,...) |
| 16 | , |