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

조회수 1272회

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

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
    

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

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)