Javascript Deep Dive/연산자
삼항 조건 연산자, 논리 연산자, 쉼표 연산자
FE묭묭
2022. 9. 9. 01:56
삼항 조건 연산자
var result = score >= 60 ? 'pass' : 'fail';
// 조건문 참일때 거짓일때
// 참일때 'pass'를 반환, 거짓일때 'fail'을 반환
- 삼항 조건 연산자의 표현식은 값으로 평가할 수 있는 표현식인 문이다.
- 같은 조건문인 if, else문은 표현식이 아닌 문이라 값처럼 사용할 수 없다.
- 조건에 따라 어떤 값을 결정해야 한다면 if, else문 보다 삼항 조건 연산자 표현식을 사용하는게 유리하다.
- 하지만 조건에 따라 수행해야 할 문이 하나가 아니라 여러개라면 if, else문의 가독성이 더 좋다.
논리 연산자
논리 연산자 | 의미 | 부수 효과 |
|| | 논리합(OR) | X |
&& | 논리곱(AND) | X |
! | 부정(NOT) | X |
- 논리 부정(!) 연산자는 언제나 불리언 값을 반환한다.
- 피연산자가 불리언 값이 아니면 불리언 타입으로 암묵적 타입 변환된다.
// 암묵적 타입 변환
!0; // true
!'Hello'; // flase
- 논리합(||) 또는 논리곱(&&) 연산자 표현식의 평가 결과는 불리언 값이 아닐 수도 있다.
- 논리합(||) 또는 논리곱(&&) 연산자 표현식은 언제나 2개의 피연산자 중 어느 한쪽으로 평가된다.
// 단축 평가
'Cat' && ' Dog'; // 'Dog'
//9장쪽 단축평가에서 자세히 나온다고 한다.
드 모르간의 법칙
- 논리 연산자로 구성된 복잡한 표현식은 가독성이 좋지 않아 한눈에 이해하기 어렵다
- 아래의 드 모르간의 법칙을 활용하면 복잡한 표현식을 가독성 좋은 표현식으로 변환할 수 있다.
!(x || y) === (!x && !y)
!(x && y) === (!x || !y)
쉼표 연산자
- 쉼표(,) 연산자는 왼쪽 피연산자부터 차례대로 피연산자를 평가하고, 마지막 피연산자의 평가가 끝나ㅣ면 마지막 피연산자의 평가 결과를 반환한다.
var x, y, z;
x = 1, y = 2, z = 3; // 3