카테고리 없음

JS _ typeof 연산자 와 비교 연산자

JJ_hyun 2022. 4. 26. 20:44

1. typeof 

typeof 연산자는 값의 타입을 문자로 반환해 준다. 

( 타입의 종류는 number, string, boolean, undefined, etc ) 

 

MDN 문서

=> 피연산자의 평가 전 자료형을 나타내는 문자를 반환한다 라고 나와있다. 

 

 

  • typeof 를 사용하여 값을 확인하기 위한 예시

let sum;
console.log(typeof 1);
console.log(typeof '1');
console.log(typeof true);
console.log(typeof sum);

 

결과.

 

  • "number"
  • "string"
  • "boolean"
  • "undefined"

 

 

----------------------------------------------------------------------------------------------------------------------------------

 

추가로 알게 된 내용.

typeof operand
typeof(operand)

typeof 앞에 띄어쓰기만 가능한줄 알았는데 괄호도 되네..?

 

그 밖에도 타입의 종류도 다양하게 기재가 되어 있는데,

이전에 배운 타입 말고도 추가로 null, BigInt, Function, object, symbol 이 더 있었다. 

 

모르는 타입에 관해서 MDN 의 예시를 가져와본다. 

typeof 42n === 'bigint';
typeof Symbol('foo') === 'symbol'
typeof {a:1} === 'object';
typeof function(){} === 'function';
typeof null === 'object';

 

다른 타입들은 대충 알겠으나 symbol 과 bigInt 는 잘 모르겠다. 

간단하게 어떤건지 적어보자면 

 

  • bigInt 

=> number원시 값이 안정적으로 나타낼 수 있는 최대치인 2^53 - 1보다 큰 정수를 표현할 수 있는 내장 객체이다.

=> bigInt 는 정수 리터럴 뒤에 n을 붙이거나(10n) 함수 bigInt() 를 호출하여 생성할 수 있다. 

 

number 와 bigInt 는 비슷해 보이지만 차이점이 존재한다. 

bigInt 자료형은 Math 와 같은 매서드를 사용하지 못한다. 그리고 number 와 혼합하여 사용할 수 없다고 한다. 

bigInt == number // true

bigInt === number // false 

 

-----------------------------------------------------------------------------------------------------------------------------------

2. 비교 연산자

  • 동등 연산자 ( == ) : 두 피연산자가 같으면 true 를 반환함.
  • 부등 연산자 ( != ) : 두 피연산자가 같지 않으면 true 를 반환함.
  • 불일치 연산자 ( !== )  : 두 피 연산자가 값이 같지 않거나, 타입이 다르면 true 를 반환함.
  • 일치 연산자 ( === ) : 두 피연산자의 값이 같고, 타입이 같으면 true 를 반환함.

== 는 사용을 지양함. (기왕이면 ===(일치연산자) 를 쓰자 ! )

 

실습해보며 직접 치고 눈으로 확인하기.

        console.log( 1 == '1')     // true
        console.log( 1 != '1')     // false => 두 피연산자의 자료형을 일치시키고 값을 비교했을때, 같으므로 false 반환
        console.log( 1 !== '1')    // true
        console.log( 1 === '1')    // false