티스토리 뷰
JavaScript 동치 비교 == , === 차이점
JavaScript에는 다른 언어와는 다르게 === 연산이 존재한다.
다른 언어들을 먼저 접하고 실무를 하게 된다면 자연스럽게 JavaScript에서도 == 연산을 대부분 먼저 사용하게 된다.
이런 이유로 대부분의 개발자 들이 무심코 == 연산으로 주로 비교 조건절을 사용하는 경우가 많다.
동치 비교 차이점을 파악해서 일치 연산자를 사용하도록 하자.
== 동등 연산자(Equal Operator)
동등 연산자는 피연산자들이 서로 타입이 다르면 같은 타입으로 변환을 한다. 그다음 strict 비교를 적용한다.
두 피연사자가 둘 다 객체라면, 자바스크립트가 메모리의 같은 객체를 참조할 때 내부 내용을 비교하며, 메모리의 같은 객체를 가르킨다면 두 객체를 같다고 한다.
1 == 1 // true "1" == 1 // true 1 == '1' // true 0 == false // true 0 == null // false 0 == undefined // false null == undefined // true 'abc' == new String('abc') // true 'true' == true // false
=== 일치 연산자(Strict Equal Operator)
일치 연사자는 피연산자들이 서로 타입이 달라도 타입 변환 없이 strictly equal 일 때를 말한다.
3 === 3 // true 3 === '3' // false false === 0 // false null === undefined // false
'abc' === new String('abc') // false
JavaScript 실무 개발자분들은 동등 연산자(Equal Operator)와 일치 연사자(Strict Equal Operator)에 대한 차이점을 정확히 이해하시고 일치 연사자(Strict Equal Operator)로 엄격한 코딩을 해야 한다.
'프로그래밍 > Front end' 카테고리의 다른 글
[Front end] Javascript 배열 선언과 함수 (0) | 2019.07.03 |
---|---|
[Front end] Javascript 배열에 대한 고찰(delete와 splice) (0) | 2019.07.03 |
[Front end] Javascript 콜백 (0) | 2019.05.04 |
[Front end] Javascript 비동기 (0) | 2019.04.29 |
[Front end] Javascript Event Bubbling (0) | 2019.02.12 |
- 이직
- 오라클
- 성능분석
- React
- 자바스크립트
- 오라클 내장 함수
- Tomcat
- 개발환경
- SQL
- 리액트 16
- javascript
- 제주도 여행
- spring
- 제주도 3박4일 일정
- Linux 명령어
- 프로그래머스
- sort algorithm
- Eclipse
- 경력관리
- 소프트웨어공학
- 자바
- Collection
- 회고
- 프로그래머
- 리눅스 명령어
- 리액트
- Maven
- 정렬 알고리즘
- effective java
- Java
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |