티스토리 뷰
기호 | 형 변환 | 설명 | 공통 |
== | O | - 피연산자의 자료형이 같을 경우 형 변환 X - 피연산자의 자료형이 같지 않은 경우, 숫자형으로 변환한 후, 비교한다. - null, undefined는 형 변환이 되지 않는다. - "null == undefined"는 true를 반환한다. - 피연산자가 모두 객체라면, JavaScript는 내부 참조를 보고, 둘 다 메모리의 같은 객체를 바라보고 있는지 판별한다. |
NaN과의 비교는 항상 false를 반환한다. |
=== | X | 피연잔자가 엄격히 같은지 판별한다. |
동치 연산자의 종류
- 동등 연산자 (==)
- 부등 연산자 (!=)
- 일치 연산자 (===)
- 불일치 연산자 (!==)
동등 연산자
01. 피연산자의 자료형이 같을 경우: 형 변환하지 않는다.
1 == 1; //true
"문자" == "문자"; //true
false == false; //true
null == null; //true
undefined == undefined; //true
02. 피연산자의 자료형이 같지 않을 경우: 숫자형으로 변환한 후, 비교한다.
0 == ""; //true
"1" == 1; //true
true == 1 //true
03. null과 undefined는 형 변환을 하지 않는다.
Number(null); //0
Number(undefined); //NaN
null <= 0; //true
null == 0; //false
NaN == undefined; //false
- null을 숫자형 변환을 하면 0을 반환하지만, 동등 연산자(==)인 경우 형 번환을 하지 않아 false를 반환한다.
- undefined는 숫자형 변환을 하면 NaN을 반환하지만, 동등 연산자(==)인 경우 형 변환을 하지 않는다.
(어차피 비교하는 유형이 NaN이기 때문에 형 변환을 하지 않아도 false...)
04. null == undefined는 true를 반환한다.
null == null //true
undefined == undefined //true
null == undefined //true
05. 피연산자가 모두 객체라면, JavaScript는 내부 참조를 보고, 둘 다 메모리의 같은 객체를 바라보고 있는지 판별한다.
let a = [undefined];
let b = [null];
a[0] == b[0]; //true
동등 연산자의 단점
0과 false를 구분하지 못한다.
false == 0; //true
일치 연산자
false === 0; //false
- 엄격한 동등 연산자이다.
- 자료형의 동등 여부까지 검사를 한다. (그렇기 때문에 형 변환 없이 값을 비교한다.)
[주의] NaN은 어떤 비교를 하든 항상 false를 반환한다.
NaN <= "undefined"; //false
NaN == NaN; //false
NaN === NaN; //false
[공부 좌표]
[참고]
'이론 > JS' 카테고리의 다른 글
[JS] 관계 연산자 (0) | 2021.01.04 |
---|---|
[JS] 비교 연산자 (0) | 2021.01.04 |
[JS] 객체의 참조 (0) | 2021.01.03 |
[JS] Q. 함수 선언문과 함수 표현식의 차이는? (0) | 2021.01.02 |
[JS] 함수 선언문 / 함수 표현식 (0) | 2021.01.02 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 점 표기법
- [[Prototype]]
- scrollHeight
- 대괄포 표기법
- clientHeight
- 동등 연산자
- 불일치 연산자
- clinetTop
- scrollTop
- 객체의 프로퍼티
- constructor
- innerHeight
- __proto__
- property
- outerHeight
- 링크막기 #a링크막기
- 동치 연산자
- offsetHeight
- @font-face
- 일치 연산자
- offsetTop
- prototype 프로퍼티
- 프로퍼티
- 부등 연산자
- javascript class
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함