자바스크립트에서 ==랑 ===의 차이가 뭔가요?
조회수 1273회
자바스크립트를 쓰고 있는데 다른 사람들이 작성한 코드를 참고하면서 공부를 하는데 ==말고도 ===라는 연산자를 엄청 많이 사용하고있더라고요. 근데 저는 ===라는 연산자는 처음보고 이게 무슨 역할을 하는지 궁금해서 질문드립니다.
1 답변
-
자바스크립트에서 ==연산자는 피연산자가 서로 다른 타입이면 강제로 타입을 변환해서 비교연산을 진행합니다. 그리고 값을 변환하여 비교하는 규칙은 복잡하고 외우기도 쉽지않습니다. ===는 ==연산자와는 다르게 피연산자의 타입까지 같을 경우 참을 리턴하는 연산자입니다. 예제를 들어 설명하자면
alert(1==2) //false alert(1==1) //true alert("one"=="two") //false alert("one"=="one") //true
==연산자를 이용할경우입니다.
alert(1=='1'); //true alert(1==='1'); //false
==와 ===의 리턴 결과가 서로 다름에 주목하시면됩니다. ==는 둘의 타입이 달라도 참이지만 ===은 둘의 타입이 다르기떄문에 false를 리턴합니다.
alert(null == undefined); //true alert(null === undefined); //false alert(true == 1); //true alert(true === 1); //false alert(true == '1'); //true alert(true === '1'); //false alert(0 === -0); //true alert(NaN === NaN); //false
참고해보시면 도움이 될것입니다.
댓글 입력