TypeScript
union type, any, unknown, 함수에 타입 지정하는 법 & void 타입
단점이없어지고싶은개발자
2022. 5. 11. 20:32
반응형
1. Union Types
//1. Union Types
//타입 2개 이상 합친 새로운 타입)
let names: number | string = 123;
let ages: number | string | boolean = true;
names = 'name!';
ages = 30;
//소괄호로 타입을 묶어준다.
let arr: (number | string)[] = [1, 'string', 3];
let obj: { a: string | number } = { a: 123 };
2. any Types && Unknown Types
//any 타입
//어떤 타입이 들어와도 에러가 나지 않는다. 모든 자료형을 허용해줌.
//하지만 타입스크립트 쓰는 의미가 없다. 타입실드 해제문법.
let user: any = '123';
//unknown 타입
//모든 자료형 허용해줌, 하지만 any보다 안전하다.
//간단한 수학연산도 타입이 맞아야 한다. 타입 엄격하게 지켜야 한다.
// let users: unknown;
// users - 1; 계산되지 않는다.
// let age: string | number;
// age + 1;
//string타입 + 1 (허용)
//number타입 + 1 (허용)
//number | string타입 + 1 (불허)
let nam: string = 'kim';
let age: undefined | number = undefined;
let married: boolean = false;
let 철수: (string | undefined | number | boolean)[] = [nam, age, married];
let 학교: {
score: (number | boolean)[];
teacher: string;
friend: string | string[];
} = {
score: [100, 97, 84],
teacher: 'Phil',
friend: 'John',
};
학교.score[4] = false;
학교.friend = ['Lee', 학교.teacher];
3. 함수에 타입 지정하는 방법과 void 란?
//변수에 지정해준것처럼 인자로 들어올 타입을 지정해주고, 괄호 밖에 return 되는 타입을 지정해준다.
function func(x: number): number {
return x * 2;
}
func(30);
//void를 입력할 시, return 값이 없을 때 사용한다.
//return 하는 것을 사전에 막아준다.
//또한 함수를 사용할 때 파라미터에 값을 지정해줘야 한다.
//파아미터가 옵션일 경우 파라민터변수 ?:타입
//즉, 변수: number | undefined와 같다.
function findFunc(x: number): void {
x + x;
}
findFunc(3);
반응형