| 일 | 월 | 화 | 수 | 목 | 금 | 토 | 
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 | 
| 9 | 10 | 11 | 12 | 13 | 14 | 15 | 
| 16 | 17 | 18 | 19 | 20 | 21 | 22 | 
| 23 | 24 | 25 | 26 | 27 | 28 | 29 | 
| 30 | 
													Tags
													
											
												
												- Trie
- SQL
- 다익스트라
- MYSQL
- two pointer
- Two Points
- 그래프
- Dijkstra
- Brute Force
- Stored Procedure
- union find
- 이진탐색
- DP
- binary search
- Hash
- String
- 스토어드 프로시저
													Archives
													
											
												
												- Today
- Total
codingfarm
비교 연산자(Comparison Operator) 본문
| 비교 연산자 | 의미 | 사례 | 설명 | 
| == | 동등 비교 | x == y | x와 y의 값이 같음 | 
| === | 일치 비교 | x === y | x와 y의 값과 타입이 같음 | 
| != | 부동등 비교 | x != y | x와 y의 값이 다름 | 
| !== | 불일치 비교 | x !== y | x와 y의 값과 타입이 다름 | 
- 타입은 개발자의 의도와 상관없이 JS에 의해 변환되기도 한다.(암묵적 타입 변환)
- 동등비교(==) 연산자는 좌항과 우항의 피연산자를 비교할 때 먼저 암묵적 타입 변환을 통해 타입을 일치시킨 후 같은 값인지 비교한다.
//동등 비교
5 == 5;		// true
// 타입은 다르지만 암묵적 타입 변환을 통해 타입을 일치시키면 동등하다.
5 == '5';	//true- 암묵적 형변환은 결과를 예측하기 어렵게 만들기도 한다.
- 아래는 안티패턴이므로 가능하면 쓰지 말자
'0' == '';			// false
0 == '' ;			// true
0 == '0';			// true
false == 'false';	// false
false == '0';		// true
false == null;		// false
false == undefined;	// false
- 동등비교 연산자 대신 가급적 일치 비교(===)를 쓰도록 하자.
- 일치비교연산에서 NaN 타입을 주의해야한다.
- NaN은 자신과 일치하지 않는 유일한 값이다.
 
NaN === NaN;	// false
- 숫자 0은 양과 음의 0이 있으며 이들을 비교하면 true를 반환한다.
0 === -0;		// true
0 == -0;		// true
Object.is 메서드
- ES6에서 도입된 Object.is 메서드는 예측 가능한 정확한 비교 결과를 반환한다.
-0 === +0;				// true
Object.is(-0, +0);		// false
NaN === NaN;			// false
Object.is(NaN, NaN);	// true
typeof 연산자
- typeof 연산자는 피 연산자의 데이터 타입을 문자여로 반환한다.
- 7가지 문자열 string, number, boolean, undefined, symbol, object, function 중 하나를 반환한다.
- null을 반환하는 경우는 없다.
- typeof가 반한하는 타입과 실제 타입이 100% 일치하지는 않는다.
typeof ''				// string
typeof 1				// number
typeof NaN			// number
typeof true			// boolean
typeof undefined		// undefined
typeof Symbol()			// symbol
typeof null				// object
typeof []				// object
typeof {}				// object
typeof new Date()		// object
typeof /test/gi			// object
typeof function () {}		// function
'Programming Language > JavaScript' 카테고리의 다른 글
| 원시 값과 객체의 비교 (0) | 2021.02.17 | 
|---|---|
| 객체 리터럴 (0) | 2020.11.15 | 
| 데이터 타입(Data Type) (0) | 2020.11.14 | 
| 표현식과 문(expression and statement) (0) | 2020.11.14 | 
| 변수(Variable) (0) | 2020.11.14 | 
			  Comments
			
		
	
               
           
					
					
					
					
					
					
				 
								