반응형
🦴 타입스크립트 기본타입
타입스크립트에는 기본타입들이 존재하며, 기본타입은 아래와 같다
- string
- number
- boolean
- object
- array
- tuple
- enum
- null
- undefined
- any
- never
- unknown
string
// 문자열
let str: string = "string";
number
// 숫자
let num: number = 123;
boolean
let bool: boolean = false;
object
//object
let obj: object = { a: 1 };
Array
//array : 제네릭 형태로 선언도 가능하다
let numarray: number[] = [1, 2, 3];
let numarray2: Array<number> = [1, 2, 3];
tuple
고정된 배열에서 각각의 요소들의 타입을 지정이 가능
//tuple : 고정된 배열에서 각각의 요소에 타입을 정의
let tuple: [string, number, boolean] = ["str", 1, false];
//tuple error : 각 요소에 선언된 타입과 다를 경우 에러를 뱉는다
//let tupleError: [string, number, boolean] = ["str", 1, "1"];
enum
열거형으로, 상수들의 집합
//enum : 열거형으로, 상수들의 집합
enum COMMON {
USER,
GUEST,
MASTER,
}
null
값이 없는 상태이다. 값이 할당되지 않는 undefined이랑 다르다
모든값의 하위타입이다. 다른 타입에 null을 넣을 수 있다. 다만 strictNullChecks을 false으로 설정했을때만 가능하다.
let valuenull: null = null;
// number으로 선언해도 null에 대입이 가능하다
// 다만 strictNullChecks를 false으로 했을때 가능하다
let numnull: number = 1;
numnull = null
undefined
값이 아직 할당 되지 않는 상태이다. 값이 없는 Null이랑은 다르다
모든값의 하위타입이다. 다른 타입에 null을 넣을 수 있다. 다만 strictNullChecks을 false으로 설정했을때만 가능하다.
//undefined : 값이 할당되지 않는 상태
let valueUndefined: undefined = undefined;
// number으로 선언하여도, undefined값을 넣을 수 있다. 다만 strictNullChecks을 false으로 했을때 가능하다.
let undefinedval: number = 1;
undefinedval = undefined;
any
모든 타입을 혀용(되도록이면 쓰지 않는것을 권장)
//any : 모든 타입을 혀용(되도록이면 쓰지 않는것을 권장)
let anything: any;
anything = 1;
anything = true;
anything = "str";
void
주로 함수에서 쓰이며, 리턴값이 없는 함수 타입 선언이 가능하다
//void : 함수에서 쓰이며 리턴값이 없는 경우
function func(): void {
console.log("call func");
//error 일으킴
//return 1;
}
never
//never : 보통 함수에서 사용되며, 에러를 일으킬때 사용
function errorFunc(): never {
throw Error("ERROR");
}
unknown
알려지지 않는 타입이며, 어느 타입이든 들어갈 수 있다. 다만 다른 타입에 unknown 값을 넣을 경우 에러를 일으킴
//unknwon : 알려지지 않는 타입이며, 어느 타입이든 들어갈 수 있다. 다만 다른 타입에 unknown 값을 넣을 경우 에러를 일으킴
let un: unknown;
un = 1;
un = 2;
un = bool;
un = anything;
//error : unknown값을 넣을 경우 에러를 일으킴
//num = un;
🍕 타입 단언
타입단언이란, 타입캐스팅과 같다. 타입을 바꾸는 것을 말한다.
예시로 any로 선언된 것을 string으로 바꿔서 길이(number)를 구해보겠다.
"as string"을 통해 str:any는 string이 되었고, string의 속성중에 length의 접근이 가능하게 되었다.
//Type Assertions
let str: any = "someword";
const len: number = (str as string).length;
console.log(len);반응형
'typescript' 카테고리의 다른 글
| 🍖 타입스크립트 제네릭 (0) | 2025.02.07 |
|---|---|
| 🖇 타입스크립트 함수 (0) | 2025.01.18 |
| 🦶 타입스크립트 인터페이스 (0) | 2025.01.12 |
| 🧁 인터페이스 (1) | 2024.11.17 |
| 🔒 typescript 세팅 (0) | 2024.11.03 |
댓글