일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- Maui
- 마우이
- GitHub
- 파이어베이스
- React JS
- MSSQL
- typescript
- 자바스크립트
- 플러터
- MVVM
- MS-SQL
- spring boot
- listview
- 깃허브
- Animation
- Firebase
- 리엑트
- HTML
- AnimationController
- Flutter
- db
- JavaScript
- 오류
- Binding
- 함수
- 바인딩
- 닷넷
- page
- 애니메이션
- .NET
Archives
- Today
- Total
개발노트
2. [TypeScript] any, unknown, readonly 등 여러 타입 본문
반응형
any
any는 모든 타입을 허용하는 동적 타입으로, 컴파일러가 해당 값에 대해 타입 검사를 수행하지 않습니다. any를 사용하면 타입 체크를 우회할 수 있지만, 타입 안정성을 잃을 수 있으므로 사용을 최소화하는 것이 좋습니다.
let anyValue: any = 10;
anyValue = "Hello";
anyValue = true;
console.log(anyValue); // Output: true
unknown
unknown은 any와 비슷하지만, any보다 타입 안정성을 유지할 수 있는 타입입니다. unknown은 타입이 무엇인지 모를 때 사용하며, 타입 체크를 거쳐야만 사용할 수 있습니다.
function processValue(value: unknown) {
if (typeof value === "number") {
console.log("Value is a number:", value);
} else if (typeof value === "string") {
console.log("Value is a string:", value);
} else {
console.log("Value is of unknown type:", value);
}
}
processValue(42); // Output: Value is a number: 42
processValue("Hello"); // Output: Value is a string: Hello
processValue(true); // Output: Value is of unknown type: true
undefined
undefined는 값이 할당되지 않은 상태를 나타내는 타입이자 값입니다. 변수를 선언하고 초기화하지 않으면 기본적으로 undefined로 할당됩니다.
let undefinedValue: undefined;
console.log(undefinedValue); // Output: undefined
never
never는 절대 발생하지 않는 값을 나타내는 타입입니다. 예를 들어, 항상 예외를 던지는 함수의 반환 타입으로 사용될 수 있습니다.
function throwError(message: string): never {
throw new Error(message);
}
throwError("Something went wrong!"); // Throws an error and never returns
Array
Array는 배열을 나타내는 제네릭 타입으로, 배열 요소의 타입을 지정하여 사용합니다.
let numbers: Array<number> = [1, 2, 3, 4, 5];
console.log(numbers); // Output: [1, 2, 3, 4, 5]
Tuple
Tuple은 고정된 길이의 배열을 나타내는 타입으로, 각 요소의 타입이 정확히 지정됩니다.
let tupleValue: [string, number] = ["Alice", 30];
console.log(tupleValue); // Output: [ 'Alice', 30 ]
enum
enum은 열거형 타입으로, 관련된 상수들을 그룹화하여 사용할 수 있습니다.
enum Color {
Red,
Green,
Blue,
}
let selectedColor: Color = Color.Green;
console.log(selectedColor); // Output: 1 (Green)
object
object는 JavaScript의 객체를 나타내는 타입입니다. 배열, 함수, 객체 등 모든 객체에 해당합니다.
let person: object = { name: "John", age: 30 };
console.log(person); // Output: { name: 'John', age: 30 }
readonly
readonly를 사용하면 요소를 수정, 삭제할 수 없으며, 읽기만 가능합니다.
void
void는 함수의 반환 타입으로 사용되며, 함수가 값을 반환하지 않음을 나타냅니다. (굳이 따로 지정할 필요 없음)
function greet(): void {
console.log("Hello!");
}
greet(); // Output: Hello!
반응형
'웹 개발 > TypeScript' 카테고리의 다른 글
6. [TypeScript] Interface 사용법 (with type과의 차이점) (0) | 2023.08.07 |
---|---|
5. [TypeScript] Class 로 객체 및 데이터형 만들기 (0) | 2023.08.04 |
4. [TypeScript] Call Signature 과 Generic 사용하여 함수 만들기 (0) | 2023.08.03 |
3. [TypeScript] Call Signatures, Overloading, Polymorphism 개념 정리 (0) | 2023.07.31 |
1. [TypeScript] 기본 문법 소개와 type (0) | 2023.07.31 |
Comments