JavaScrpt/기초튼튼

Javascript == vs ===

carrotweb 2022. 7. 20. 18:06
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
반응형