!= , !==, == , === 에 대한 설명 부탁드려요,,

!= , !==, == , === 에 대한 설명 부탁드려요,,

QA

!= , !==, == , === 에 대한 설명 부탁드려요,,

본문

!= , !==, == , === 이 비교 연산들은 말 그대로 비교하기 위해 쓰는것인데

왜 비교문이 아닌 것 같은 일반 코드들에도 들어가는지도 궁금합니다..

#js

이 질문에 댓글 쓰기 :

답변 3

다 비교문에 쓰는 연산자입니다

 

!=, ==의 경우 느슨한 비교로써

"1" == 1을 true 로 반환합니다.
 

!==, ===는 엄격한 비교연산자를 의미하며 string의 "1" 과 number 객체의 1을 비교시
"1" === 1 일 때 false를 반환합니다

사용 목적 따라 여전히 쓰이긴 하지만, 느슨한 비교연산자는 최근 권장하지 않는 방법이며
왠만하면 엄격한 연산자의 사용이 권장됩니다

dataTarget를 if문에서 비교한경우도 dataTagret 속성이 없으면 아래의 코드가 실행되게 되어있는 비교문입니다

 

if(dataTarget !== ""){

dataTarget 이 값이 "" 와 같지 않다면(!==, !=) 즉 공백이 아니면 실행하라는 if문 처럼 보이네요

 

if(dataTarget === ""){

반대로 == 나 === 처럼은 dataTarget 이 값이 "" 와 똑같으면, 즉 빈값이면 실행하라는 말이겠죠

왜 비교문이 아닌 것 같은 일반 코드들 ?

예를 들면..... ?

var $gnbMenu = $('.gnb__menu');
    $gnbMenu.click(function(event){
        var dataTarget = $(this).attr('data-target');
        if(dataTarget !== ""){
            event.preventDefault();
            var $target = $(dataTarget);
            var distance = $target.offset().top;
            $('html, body').animate({scrollTop: distance});
        }
    })


여기에선 !== 이런거요! 대체 뭘 비교하는건지 뭘하는건지 모르겟씁니다

답변을 작성하시기 전에 로그인 해주세요.
전체 312
QA 내용 검색
filter #js ×

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT