JavaScript: '==' 와 '===' 는 다르다.

Yoonezi·2023년 3월 28일
0

JavaScript

목록 보기
2/2
post-thumbnail

🤔 '=='와 '===' 연산자의 주된 차이점

예를 들어, 숫자를 숫자 리터럴과 비교해보면 '=='는 이 비교를 허용하지만
'===' 두 변수의 형식은 동일하지 않은 경우, 값뿐만 아니라 두 변수의 유형도 확인하므로 허용하지 않는 것이다.
즉, '==='는 'false'으로 반환하고, '=='는 'true'로 반환한다.

  • '==' : 연산자를 이용하여 서로 다른 유형의 두 변수의 비교
  • '===' : 값 & 자료형 ➡️ true // 엄격한 비교



🐰 예제

[숫자와 불리언 비교]

🥕 0값은 false와 동일하므로 true를 출력한다.

0 == false 
// true 출력

🥕 0의 type은 "number"이고 false의 type은 "boolean" , 따라서 두 피연산자의 자료형이 다르기 때문에 false를 출력한다.

0 === false 
// false 출력

[숫자와 문자열 비교]

🥕 두 피연산자의 "값"은 동일하기 때문에 ture를 출력한다.

2 == "2" 
// true 출력

🥕 두 피연산자의 자료형이 다르기 때문에 false를 츌력한다.

2 === "2"
// false 출력



🤔 그렇다면 "!=" 와 "!=="는 어떨까 ?

🥕 "값"이 다르지 않음으로 true를 출력한다.

2 != "2" 
// false 출력

🥕 두 피연산자의 자료형이 다른것이 맞기 때문에 ture를 츌력한다.

2 !== "2" 
// true 출력

➡️ 유형 변환 비교와 엄격한 비교의 "값"과 "자료형"의 다름을 boolean 형식으로 반환한다.




✨ 마지막으로 .. 추천하자면 ..

변수를 비교하거나 어떤 비교를 위해 항상 '===' 연산자를 사용 할 것을 권장한다.

최대한 '==' 연산자를 사용하지 않도록 하고,
대신 직접 자료형을 변환하여 코드 가독성을 높이도록 하자!

profile
차곡차곡

0개의 댓글