본문 바로가기
programming/javascript

자바스크립트 비교연산자 종류와 사용 javascript comparison operators

by 개코 - 개발과 코딩 2022. 4. 4.

자바스크립트의 비교연산자는 8가지 종류이다. 다른 프로그래밍 언어들과 사용법은 같지만 값과 데이터타입을 동시에 비교하는 연산자 2가지가 더 있기 때문이다. 자바스크립트의 변수가 묵시적으로 정해지기 때문에 만약 변수를 중복해서 사용하는 경우라면 데이터타입까지 비교할 일이 생길 수 있다.

자바스크립트 비교연산자 종류와 사용
javascript comparison operators

자바스크립트의 비교연산자는 다른 프로그래밍언어와 같은 것들도 있지만 추가된 것들도 있다.

웹의 특성 때문인지 데이터와 값을 동시에 비교하는 비교연산자도 있기 때문이다.

이 때문에 조건식을 구성하는데 애매한 경우들도 있지만, 변수의 사용이 중복되는 경우들의 경우 이 연산자를 사용하여 값의 구성을 파악할 수 있다.

비교 연산자 종류

자바스크립트에서 사용할 수 있는 비교연산자는 8가지가 있다.

다른 언어들은 6가지가 있지만, 데이터 타입을 묵시적으로 결정하는 자바스크립트의 특성 때문인지 데이터 타입까지 비교하는 연산자가 추가되었기 때문이기도 하다.

메모리를 아껴서 사용하려는 것 때문에 중복해서 사용되는 경우들도 발생하는데 이 때 데이터타입을 비교하는 경우들도 있다.

자바스크립트의 비교연산자의 종류와 의미는 다음과 같다.

모든 언어들이 그렇듯 비교의 우선은 좌측이 기준이다.

  • A > B
    A의 값은 B의 값보다 크가.
  • A >= B
    A의 값은 B의 값보다 크거나 또는 같다.
  • A < B
    A의 값은 B의 값보다 작다.
  • A <= B
    A의 값은 B의 값보다 작거나 또는 같다.
  • A == B
    A의 값은 B의 값과 같다.
  • A != B
    A의 값은 B의 값과 다르다.
  • A === B
    A의 값과 데이터타입은 B의 값과 데이터타입이 같다.
  • A !== B
    A의 값 또는 데이터타입은 B의 값 또는 데이터타입과 다르다.

샘플코드

위의 것들을 기준으로 비교연산자에 대한 자바스크립트 예제를 만들어 본다.

=== 과 !=== 의 기준이 조금 모호할 수 있다.

위에서도 언급했지만 어떤 변수 또는 값과 데이터 타입을 같이 비교하는 것이다.

예를 들어 숫자 3과 문자 3은 가시적으로는 3이란 모양은 같지만, 컴퓨터를 기준으로 보면 값은 같지만 데이터 타입은 다르다.

<!DOCTYPE html>
<html>
    <body>

        <script>
            
            let _boolean

            console.log('----------');

            let vA = 10;
            let vB = 100;

            console.log("vA 가 %s 이고, vB 가 %s 일때 비교 ", vA, vB);

            console.log('----------');

            _boolean = Boolean(vA > vB);
            if(_boolean) {
                console.log("vA > vB : vA 는 vB 보다 크다. - %s", _boolean);
            }

            _boolean = Boolean(vA >= vB);
            if(_boolean) {
                console.log("vA > vB : vA 는 vB 보다 크거나 같다. - %s", _boolean);
            }

            _boolean = Boolean(vA < vB);
            if(_boolean) {
                console.log("vA > vB : vA 는 vB 보다 작다. - %s", _boolean);
            }

            _boolean = Boolean(vA <= vB);
            if(_boolean) {
                console.log("vA > vB : vA 는 vB 보다 작거나 같다. - %s", _boolean);
            }

            _boolean = Boolean(vA == vB);
            if(_boolean) {
                console.log("vA > vB : vA 는 vB 와 같다. - %s", _boolean);
            }

            _boolean = Boolean(vA != vB);
            if(_boolean) {
                console.log("vA > vB : vA 는 vB 와 다르다. - %s", _boolean);
            }

            _boolean = Boolean(vA === vB);
            if(_boolean) {
                console.log("vA > vB : vA 는 vB 값과 데이터타입이 같다. - %s", _boolean);
            }

            _boolean = Boolean(vA !== vB);
            if(_boolean) {
                console.log("vA > vB : vA 는 vB 값 또는 데이터타입이 다르다. - %s", _boolean);
            }

            _boolean = Boolean(vA === vA);
            if(_boolean) {
                console.log("vA > vA : vA 는 vA 값과 데이터타입이 같다. - %s", _boolean);
            }

            _boolean = Boolean(vA !== vA);
            if(_boolean) {
                console.log("vA > vA : vA 는 vA 값 또는 데이터타입이 다르다. - %s", _boolean);
            }

            console.log('----------');

        </script>

    </body>
</html>

코드는 길지만 비교연산자만 보도록 하자.

참고로 Boolean 함수는 변수 또는 값을 비교하여 true, false 값을 리턴하는 참, 거짓 판단 함수이다.

결과 화면을 보자.

위의 조건식과 비교연산자를 사용했을 때 참인 것들을 화면에 출력을 할 것이다.

반응형

댓글