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

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

QA

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

답변 3

본문

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

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

#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});
        }
    })


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

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
filter #js ×
전체 312
© SIRSOFT
현재 페이지 제일 처음으로