본문 바로가기

TYPESCRIPT

Typescript 변수 타입(type) 선언 방법

반응형

TypeScript에서 변수의 타입을 선언하는 방법은 크게 두 가지가 있습니다.


1. Type Annotations

Type Annotations은 변수 또는 함수의 파라미터, 반환값 등에 대한 타입 정보를 직접 작성하는 방법입니다.

 

변수의 Type Annotations 예시:

 

let myNumber: number = 123;
let myString: string = "Hello, World!";
let myBoolean: boolean = true;
let myArray: string[] = ["apple", "banana", "orange"];
let myObject: { name: string, age: number } = { name: "John Doe", age: 30 };

 

위 예시에서는 변수 이름 뒤에 콜론(:)을 사용하여 변수의 타입을 명시하고 있습니다.

함수의 Type Annotations 예시:

 

function addNumbers(a: number, b: number): number {
  return a + b;
}

 

위 예시에서는 함수의 파라미터와 반환값의 타입 정보를 작성하여 명시적으로 표현하고 있습니다. 이렇게 작성된 Type Annotations을 통해 TypeScript는 해당 변수나 함수의 타입을 정확히 파악하고, 타입 검사를 수행할 수 있습니다.

Type Annotations을 사용하면 코드의 가독성과 유지보수성을 높일 수 있습니다. 코드를 읽는 사람들은 변수 또는 함수가 어떤 타입의 값을 다루는지 쉽게 파악할 수 있고, 코드 변경 시에도 Type Annotations를 바탕으로 타입 에러를 미리 방지할 수 있습니다.

 

 

 

2. Type Inference(타입 추론)


Type Inference은 TypeScript가 변수의 타입을 스스로 유추해주는 방법입니다. 변수를 선언할 때 타입을 명시하지 않아도 TypeScript가 변수의 초기값을 보고 타입을 유추합니다.

 

let myString = "Hello, World!";
let myNumber = 123;
let myBoolean = true;
let myArray = ["apple", "banana", "orange"];
let myObject = { name: "John Doe", age: 30 };

 

 

타입을 명시하지 않은 경우, TypeScript는 변수의 초기값을 분석하여 타입을 유추합니다. 만약 초기값이 없는 경우, TypeScript는 변수를 any 타입으로 추론합니다.

 

let myAny; // any 타입으로 추론됨

 

하지만, any 타입을 사용하는 것은 TypeScript를 사용하는 의미가 없는 것과 같습니다. 따라서 변수의 타입을 명시해주는 것이 좋습니다.

미선언시 처리되는 방식은 any 타입으로 처리됩니다. 이는 TypeScript에서 타입 선언을 하지 않은 경우 변수의 타입이 암묵적으로 any 타입으로 추론되기 때문입니다. any 타입은 TypeScript에서 모든 타입을 허용하는 타입으로, 타입 검사를 거치지 않고도 모든 유형의 데이터를 저장할 수 있습니다. 하지만, any 타입을 사용하면 TypeScript의 타입 검사 기능을 제대로 활용하지 못하고, 런타임 에러 발생 가능성이 높아집니다. 따라서, 변수의 타입을 명시적으로 지정하여 사용하는 것이 좋습니다.

반응형