연산자
연산자는 하나 이상의 푠현식을 대상으로 산술, 할당, 비교, 논리, 타입, 지수 연산 등을 수행해 하나의 값을 만든다.
//산술 연산자
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
'Javascript > javascript Core' 카테고리의 다른 글
[Javascript 강의] 6강 객체 (0) | 2021.09.14 |
---|---|
[Javascript 강의] 5강 제어문 (0) | 2021.09.14 |
[Javascript 강의] 3강 데이터 타입 (0) | 2021.09.12 |
[Javascript 강의] 2강 변수 (0) | 2021.09.11 |
[Javascript 강의] 1강 Javascript 란? (0) | 2021.09.11 |