Frontend/Javascript

Strict equality === (동치 연산자)

petitCoding 2022. 10. 11. 20:57

자바스크립트를 처음 시작할 때 다른 언어에는 없어서 헷갈렸던 "===" 이건 도대체 뭘까요?

 

보통 C언어나 Java에서는 보이지 않는 "==="는 생각보다 단순한 개념을 가지고 있습니다.

 

예제를 한번 볼까요?

 

다음 중 어떤 것이 거짓일까요?

 

10 == "10"

0 == false

1 == true

1 == 1

"apple" == "apple"

null == undefined

 

네, 모두 참(True) 입니다.

타입을 엄격하게 지정하는 Java나 c와는 달리, 자바스크립트에서는 var / let/ const등을 통해 모든 타입의 변수를 선언합니다.

 

그래서 자바스크립트에서는 "===", "!==" 를 사용하는 것을 권장합니다.

그런 경우 위의 케이스에서 대부분의 비교문들이 거짓(False)이 되겠죠?

"==="로 바꿔 비교를 하면, 다음과 같은 결과가 나타납니다.

10 === "10" => false

0 === false => false

1 === true => false

1 === 1 => true

"apple" === "apple" => true

null === undefined => false

 

위에서 보여드린 예시 외에도, 다양한 케이스들이 있으니 더 자세한 내용은 다음 문서를 참고해 주세요 :) 

 

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Strict_equality

 

Strict equality (===) - JavaScript | MDN

The strict equality operator (===) checks whether its two operands are equal, returning a Boolean result. Unlike the equality operator, the strict equality operator always considers operands of different types to be different.

developer.mozilla.org

 

반응형