타입스크립트의 기본 데이터 타입은 무엇이 있나요?
_____A1: 타입스크립트의 기본 데이터 타입은 다음과 같습니다.
- `boolean`: true 또는 false 값을 가집니다.
- `number`: 정수와 부동 소수점 숫자를 모두 포함합니다.
- `string`: 문자열 타입입니다.
- `null`: 명시적으로 비어 있는 값을 나타냅니다.
- `undefined`: 값이 할당되지 않은 상태를 나타냅니다.
- `symbol`: 고유하고 변경 불가능한 원시 값으로, 주로 객체 속성의 키로 사용됩니다.
- `bigint`: 매우 큰 정수를 표현할 때 사용합니다.
Q2: 배열이나 객체 타입도 기본 데이터 타입인가요?
A2: 배열(`Array`)과 객체(`Object`)는 기본 원시 타입은 아니지만, 타입스크립트에서 자주 사용되는 복합 데이터 타입입니다. 배열 타입은 `number[]`, `string[]` 같이 표현하며, 객체 타입은 중괄호 `{}`를 사용해 구조를 명시할 수 있습니다.
Q3: `any`와 `unknown` 타입은 기본 데이터 타입인가요?
Q4: 기본 데이터 타입의 사용 예시는 어떻게 되나요?
A4:
```typescript
let isDone: boolean = true;
let count: number = 42;
let name: string = "TypeScript";
let nothing: null = null;
let notAssigned: undefined = undefined;
let uniqueId: symbol = Symbol("id");
let bigNumber: bigint = 9007199254740991n;
```
이처럼 타입스크립트는 자바스크립트의 기본 원시 타입에 더하여 `bigint`와 `symbol` 타입을 추가로 지원합니다.
타입스크립트의 기본 데이터 타입은 자바스크립트의 데이터 타입을 기반으로 하며, 다음과 같은 주요 타입들이 있습니다.
1. 원시 타입 (Primitive Types) 원시 타입은 변경 불가능한 값으로, 다음과 같은 타입들이 포함됩니다: - number : 숫자를 나타내며, 정수와 부동 소수점 숫자를 모두 포함합니다.
예를 들어, `let age: number = 30;` 또는 `let price: number = 19.99;`와 같이 사용할 수 있습니다.
- string : 문자열을 나타내며, 작은따옴표('), 큰따옴표("), 또는 백틱(`)으로 감싸서 표현합니다.
예를 들어, `let name: string = "Alice";` 또는 `let greeting: string = `Hello, ${name}!`;`와 같이 사용할 수 있습니다.
- boolean : 참(true) 또는 거짓(false) 값을 나타냅니다.
예를 들어, `let isActive: boolean = true;`와 같이 사용할 수 있습니다.
- null : 값이 없음을 나타내는 타입입니다.
예를 들어, `let value: null = null;`와 같이 사용할 수 있습니다.
- undefined : 변수가 선언되었지만 값이 할당되지 않은 상태를 나타냅니다.
예를 들어, `let notAssigned: undefined;`와 같이 사용할 수 있습니다.
- symbol : ES6에서 도입된 타입으로, 고유하고 변경 불가능한 값을 나타냅니다.
주로 객체의 프로퍼티 키로 사용됩니다.
예를 들어, `let sym: symbol = Symbol('description');`와 같이 사용할 수 있습니다.
- bigint : 큰 정수를 표현하기 위한 타입으로, 일반적인 숫자 타입이 표현할 수 있는 범위를 초과하는 정수를 다룰 수 있습니다.
예를 들어, `let bigNumber: bigint = 1234567890123456789012345678901234567890n;`와 같이 사용할 수 있습니다.
2. 객체 타입 (Object Types) 타입스크립트에서는 객체를 정의할 수 있는 다양한 방법이 있습니다.
객체는 여러 개의 프로퍼티를 가질 수 있으며, 각 프로퍼티는 특정 타입을 가질 수 있습니다.
- 객체 리터럴 : 객체를 직접 정의할 수 있습니다.
예를 들어, ```typescript let person: { name: string; age: number } = { name: "Bob", age: 25 }; ``` - 배열 : 같은 타입의 값을 여러 개 저장할 수 있는 데이터 구조입니다.
예를 들어, `let numbers: number[] = [1, 2, 3];`와 같이 사용할 수 있습니다.
- 튜플 : 고정된 길이와 각 요소의 타입이 다른 배열입니다.
예를 들어, `let tuple: [string, number] = ["Alice", 30];`와 같이 사용할 수 있습니다.
- 열거형 (Enum) : 특정 값의 집합을 정의할 수 있는 타입으로, 가독성을 높이고 코드의 의미를 명확히 할 수 있습니다.
예를 들어, ```typescript enum Color { Red, Green, Blue } let c: Color = Color.Green; ```
3. 기타 타입 - any : 어떤 타입이든 허용하는 타입으로, 타입 검사를 우회할 수 있습니다.
그러나 이 타입을 사용하면 타입스크립트의 장점을 잃게 되므로 신중하게 사용해야 합니다.
예를 들어, `let randomValue: any = 42;`와 같이 사용할 수 있습니다.
- unknown : `any`와 비슷하지만, `unknown` 타입의 값은 사용하기 전에 반드시 타입 검사를 해야 합니다.
이는 더 안전한 타입입니다.
예를 들어, `let value: unknown;`와 같이 사용할 수 있습니다.
- void : 함수가 값을 반환하지 않을 때 사용되는 타입입니다.
예를 들어, `function logMessage(message: string): void { console.log(message); }`와 같이 사용할 수 있습니다.
- never : 함수가 절대 반환하지 않음을 나타내는 타입으로, 예외를 던지거나 무한 루프에 빠지는 경우에 사용됩니다.
예를 들어, ```typescript function throwError(message: string): never { throw new Error(message); } ``` 결론 타입스크립트는 다양한 기본 데이터 타입을 제공하여 개발자가 더 안전하고 효율적으로 코드를 작성할 수 있도록 돕습니다.
각 타입의 특성을 이해하고 적절하게 활용함으로써, 코드의 가독성과 유지보수성을 높일 수 있습니다.
이러한 데이터 타입을 잘 활용하면, 타입스크립트의 장점을 극대화할 수 있습니다.
작성자:
박수현 [비회원]
| 작성일자: 1년 전
2024-09-10 05:32:07
조회수: 140 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
조회수: 140 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
내용이 부정확하다면 싫어요를 클릭해주세요.