728x90
반응형
== vs ===
== 연산자는 두 변수의 값을 비교합니다.
=== 연산자는 두 변수의 값과 유형(타입)까지 비교한다.
그럼 스크립트에서 == 연산자와 === 연산자를 확인해 보겠습니다.
숫자(Number) 0과 불리언(Boolean) false을 == 연산자로 비교하면 두 변수의 값이 같다고 나옵니다.
console.log(0 == false);
--> true
그 이유는 Boolean false의 값이 0이기 때문입니다. Boolean true의 값은 1입니다.
숫자(Number) 0과 문자열(String) "0"을 == 연산자로 비교하면 두 변수의 값이 같다고 나옵니다.
console.log(0 == "0");
--> true
그 이유는 == 연산자는 숫자나 문자를 값 자체로만 비교하기 때문에 숫자(Number) 0과 문자열(String) "0"은 값이 0과 0이기 때문에 값이 같습니다. == 연산자는 숫자(Number)와 문자열(String)의 유형(타입)은 비교하지 않습니다.
이처럼 변수의 값뿐만 아니라 유형(타입)까지 비교해서 처리해야 하는 것들은 === 연산자를 사용하면 됩니다.
숫자(Number) 0과 불리언(Boolean) false, 문자열(String) "0"을 === 연산자로 비교하면 두 변수의 값이 같지 않다고 나옵니다.
console.log(0 === false);
--> false
console.log(0 === "0");
--> flase
그 이유는 두 변수의 유형(타입)이 다르기 때문입니다.
=== 연산자는 두 변수의 값 비교뿐만 아니라 typeof으로 유형(타입)까지 비교한 것과 같습니다.
console.log(typeof 0);
--> number
console.log(typeof false);
--> boolean
728x90
반응형
'JavaScrpt > 기초튼튼' 카테고리의 다른 글
Javascript NaN(Not a Number) (0) | 2022.07.20 |
---|---|
Javascript this vs self (0) | 2022.07.15 |
jQuery $(selector)[0]이란 (0) | 2022.07.15 |
JavaScript Array - 배열 정렬(Array.sort) - 문자열 정렬, 숫자 정렬, 객체 정렬, Ascending(ASC), Descending(DESC) (0) | 2022.04.10 |
JavaScript Array - 배열 객체 생성 (0) | 2022.04.10 |