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

음수를 거듭제곱할 시에는 ()괄호로 감싸서 사용해야 된다.

반응형