1. 논리 연산자
- 논리 연산자는 주어진 논리식을 판단하여, 참(true)과 거짓(false)을 반환한다.
&& 연산자와 || 연산자는 두 개의 피연산자를 가지는 이항 연산자이며, 피연산자들의 결합 방향은 왼쪽에서 오른쪽이다.
! 연산자는 피연산자가 단 하나뿐인 단항 연산자이며, 피연산자의 결합 방향은 오른쪽에서 왼쪽이다.
| 논리 연산자 | 설명 |
|---|
| && | 논리식이 모두 참이면 참을 반환함. (논리 AND 연산) |
| || | 논리식 중에서 하나라도 참이면 참을 반환함. (논리 OR 연산) |
| ! | 논리식의 결과가 참이면 거짓을, 거짓이면 참을 반환함. (논리 NOT 연산) |
1) 논리 연산자의 모든 동작 결과
| A | B | A && B | A II B | !A |
|---|
| true | true | true | true | false |
| true | false | false | true | false |
| false | true | false | true | true |
| false | false | false | false | true |
2. 삼항 조건 연산자
- 삼항 조건 연산자(ternary operator)는 조건식의 평가 결과에 따라 반환할 값을 결정한다.
- 첫 번째 연산자가
true로 평가되면 두 번째 피연산자를 반환하고, 첫 번째 피연산자가 false로 평가되면 세 번째 피연산자를 반환한다. 즉, 삼항 조건 연산자는 두 번째 피연산자 또는 세 번째 피연산자로 평가되는 표현식이다.
기본 문법
'조건식' ? '조건식이 true일 때 반환할 값' : '조건식이 false일 때 반환할 값'
- 물음표(
?) 앞의 첫 번째 피연산자는 조건식, 즉 boolean 타입의 값으로 평가될 표현식이다. 만약 조건식의 평가 결과가 boolean 값이 아니면 boolean 값으로 암묵적 타입 변환된다. 이때 조건식이 참이면 콜론(:) 앞의 두 번째 피연산자가 반환되고, 거짓이면 콜론(:) 뒤의 세 번째 피연산자가 반환된다.
- 삼항 조건 연산자의 첫 번째 피연산자는 조건식이므로 삼항 조건 연산자 표현식은 조건문이다. 따라서
if ~ else 문을 사용해도 삼항 조건 연산자 표현식과 유사하게 처리할 수 있지만, 삼항 조건 연산자 표현식은 값처럼 사용할 수 있지만 if ~ else 문은 값처럼 사용할 수 없다.
- 삼항 조건 연산자 표현식은 값으로 평가할 수 있는 유일한 표현식인 문이다. 따라서 삼항 조건 연산자 표현식은 값처럼 다른 표현식의 일부가 될 수 있다.
let x = 2;
let result = x % 2 ? '홀수' : '짝수';
console.log(result);