Languages/JavaScript
[JavaScript] 연산자 (2)
개발자 나르
2022. 5. 25. 17:06
반응형
삼항 조건 연산자
삼항 조건 연산자는 조건식의 평가 결과에 따라 반환할 값을 결정한다.
조건식 ? 조건식이 true일 때 반환할 값 : 조건식이 false일 때 반환할 값;
var x = 2;
var result = x % 2 ? '홀수' : '짝수'; // x % 2는 0이다. 0은 false로 암묵적 타입 변환된다.
console.log(result); // 짝수
삼항 조건 연산자는 if...else 문과 비슷하게 처리할 수 있다.
그러므로 수행해야할 문이 하나라면 삼항조건 연산자, 여러개라면 if...else문이 더 가독성 측면에서 좋다.
논리 연산자
논리 연산자는 우항과 좌항의 피연산자를 논리 연산한다.
논리 연산자 | 의미 | 부수 효과 |
|| | 논리합(OR) | X |
&& | 논리곱(AND) | X |
! | 부정(NOT) | X |
논리 부정 연산자인 ! 는 언제나 불리언 값을 반환한다. 피연산자가 불리언 값이 아니면 불리언 타입으로 암묵적 타입 변환한다.
논리합과 논리곱 연산자는 평가 결과가 불리언 값이 아닐 수도 있다. 언제나 2개의 피연산자 중 어느 한쪽으로 평가된다.
'인' || '직'; // 인
'인' && '직'; // 직
typeof 연산자
typeof 연산자는 피연산자의 데이터 타입을 문자열로 반환한다.
typeof '' // string
typeof 1 // number
typeof NaN // *number*
typeof null // *object*
typeof [] // object
typeof {} // object
typeof new Date() // object
typeof function () {} // function
null은 반환하는 값이 null이 아닌 object를 반환하는데 이는 버그다. 그러므로 null타입인지 확인할 때는 typeof보다는 일치 연산자(===)사용하는 것이 옳다.
그리고 선언하지 않은 식별자에 typeof 연산자로 연산할 시 에러가 뜨지 않고 undefined로 반환된다.
지수 연산자 //ES7
지수 연산자는 좌항의 피연산자를 미트올 우항의 피연산자를 지수로 거듭 제곱하여 숫자 값을 반환한다.
2 ** 2; // 4
2 ** 0; // 1
(-2) ** 2; // 4
음수를 거듭제곱할 시에는 ()괄호로 감싸서 사용해야 된다.
반응형