본문 바로가기

프로그래밍/[javascript] 자바스크립트

[javascript] typeof 연산자 설명 및 예제

by GenieIT* 2024. 11. 13.

728x90
반응형
반응형
728x90

 

1. typeof 연산자

  • JavaScript의 typeof 연산자데이터 타입을 확인하는 데 사용됩니다. typeof는 다양한 타입의 값에 대해 문자열 형태로 해당 타입을 반환합니다.
  • 이 연산자를 통해 변수나 값의 타입을 확인하고, 조건문에서 이를 활용해 코드의 흐름을 제어할 수 있습니다.

 

2. 문법

  • value는 타입을 확인하고자 하는 값이나 변수입니다.
  • 반환값: 데이터 타입을 나타내는 문자열을 반환합니다.
typeof value

 

3. 반환값 정리표

반환 문자열 설명
undefined "undefined" 변수가 정의되지 않거나 값이 없음
null "object" JavaScript의 오래된 버그로 null을 객체로 식별함
Boolean "boolean" true 또는 false 값
Number "number" 숫자형 값
BigInt "bigint" 정수형 큰 숫자 (BigInt 타입)
String "string" 문자열 값
Symbol "symbol" Symbol 값
함수 "function" 함수
객체 (배열, 객체 등) "object" 객체나 배열, null 등 복합 타입

 

4. 기본 예제

  • typeof 연산자를 활용하여 어떤 타입인지 확인할 수 있습니다.
console.log(typeof 42);              // "number"
console.log(typeof 'Hello');         // "string"
console.log(typeof true);            // "boolean"
console.log(typeof undefined);       // "undefined"
console.log(typeof { name: "John" }); // "object"
console.log(typeof [1, 2, 3]);       // "object" (배열도 객체로 인식)
console.log(typeof null);            // "object" (JavaScript의 오래된 버그)
console.log(typeof function() {});   // "function"
console.log(typeof Symbol("id"));    // "symbol"
console.log(typeof 123n);            // "bigint"

 

5. 활용 예제

  • 조건문을 활용하여 입력된 값의 타입을 알아낼 수 있습니다.
function processValue(value) {
  if (typeof value === "string") {
    console.log("This is a string:", value);
  } else if (typeof value === "number") {
    console.log("This is a number:", value);
  } else if (typeof value === "boolean") {
    console.log("This is a boolean:", value);
  } else if (typeof value === "object") {
    console.log("This is an object:", value);
  } else {
    console.log("Unknown type:", typeof value);
  }
}

processValue("Hello");     // This is a string: Hello
processValue(42);          // This is a number: 42
processValue(true);        // This is a boolean: true
processValue({});          // This is an object: [object Object]

 

6. 마치며

  • typeof는 변수나 값의 데이터 타입을 확인하는 연산자로, 문자열 형태의 타입을 반환합니다.
  • 모든 데이터 타입을 확인할 수 있지만, null이 "object"로 반환되는 점과 배열도 "object"로 반환되는 점에 주의해야 합니다.

 

 

728x90
반응형