자바스크립트에서 ==랑 ===의 차이가 뭔가요?


자바스크립트를 쓰고 있는데 다른 사람들이 작성한 코드를 참고하면서 공부를 하는데 ==말고도 ===라는 연산자를 엄청 많이 사용하고있더라고요. 근데 저는 ===라는 연산자는 처음보고 이게 무슨 역할을 하는지 궁금해서 질문드립니다.

  • 2016년 02월 24일에 작성됨

조회수 134


1 답변


좋아요
0
싫어요
채택취소하기

자바스크립트에서 ==연산자는 피연산자가 서로 다른 타입이면 강제로 타입을 변환해서 비교연산을 진행합니다. 그리고 값을 변환하여 비교하는 규칙은 복잡하고 외우기도 쉽지않습니다. ===는 ==연산자와는 다르게 피연산자의 타입까지 같을 경우 참을 리턴하는 연산자입니다. 예제를 들어 설명하자면

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

참고해보시면 도움이 될것입니다.

  • 2016년 02월 24일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close