본문 바로가기
Javascript/javascript Core

[Javascript 강의] 4강 연산자

by 카리3 2021. 9. 12.

연산자

연산자는 하나 이상의 푠현식을 대상으로 산술, 할당, 비교, 논리, 타입, 지수 연산 등을 수행해 하나의 값을 만든다.

//산술 연산자
5 * 4 //20

//문자열 연결 연산자
'My name is ' + 'Kim';

//할당 연산자
color = 'red';

//비교 연산자
3 > 5

//논리 연산자
true && false

//타입 연산자
typeof 'HI'

//쉼표 연산자
var x,y,z;

//그룹 연산자
10 * (2 + 3); //50

//지수 연산자
2 ** 2; //4

 

비교 연산자

동등 비교(==) 연산자는 좌항과 우항의 피연산자를 비교할 때 먼저 암묵적 타입 변환을 통해 타입을 일치시킨 후 같은 값인지 비교한다.

//동등 비교. 결과를 예측하기 어렵다.
'0' == ''; //false
0 == ''; //true
0 == '0'; //true
false == 'false'; //false
false == '0'; //true
false == null; //false
false == undefined; //false

일치 비교(===) 연산자는 좌항과 우항의 피연산자가 타입도 같고 값도 같은 경우에 한하여 true를 반환한다.

//일치 비교
5 === 5; //true

//암묵적 타입 변환을 하지 않고 값을 비교한다.
//즉, 값과 타입이 모두 같은 경우만 true를 반환한다.
5 === '5'; //false

//일치 비교 연산자에서 주의할 것은 NaN이다.
NaN === NaN; //false
isNaN(NaN); //true

-0 === +0; //true
Object.is(-0,+0); //false
NaN === NaN; //false
Object.is(NaN,NaN); //true

 

삼항 조건 연산자

조건식 ? 조건식이 true일 때 반환할 값 : 조건식이 false일 때 반환할 값

var x = 2;

//2 % 2는 0이고 0은 false로 암묵적 타입 변환된다.
var result = x % 2 ? '홀수' : '짝수';
console.log(result); //짝수


var x = 2, result;
//2 % 2는 0이고 0은 false로 암묵적 타입 변환된다.
if(x % 2) result = '홀수';
else  result = '짝수';

console.log(result); //짝수

//if... else 문은 표현식이 아닌 문이다. 따라서 if...else 문은 값처럼 사용할 수 없다.
var x = 10;
var result = if(x % 2){ result = '홀수';} else { result = '짝수';};
//SyntaxError: Unexpected token if