JS _ typeof 연산자 와 비교 연산자
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 를 반환함.
== 는 사용을 지양함. (기왕이면 ===(일치연산자) 를 쓰자 ! )
실습해보며 직접 치고 눈으로 확인하기.