#1. 타입 지정하기
1. 일반적으로
let 문자 :string = '문자';
let 숫자 :number = 123;
let 불리언 :boolean = false;
let 널 :null = null;
let 언디파인드 :undefined = undefined;
// 여러개의 타입이 들어간다면 | 사용 - Union Type
let 문자또는숫자 :string|number = '문자또는숫자'
let 문자또는숫자 :(string|number) = '문자또는숫자'
2. array 일때 :어레이안의타입[]
let 문자로구성된어레이 :string[] = ['문자1','문자2'];
let 숫자로구성된어레이 :number[] = ['문자1','문자2'];
// 불리언이나, 널, 언디파인드도 같음.
// 여러개의 타입이 들어간다면 | 사용 - Union Type
let 숫자나문자 :(string|number)[] = ['문자1', 123 ];
3. object 일때 :{키 : 타입}
// let 오브젝트 :{키: 타입} = { 키: 값};
let 오브젝트 :{name :string} = { name: '장금이'};
// age는 들어갈수도 있고 안들어갈수도 있는 오브젝트라면?
let 오브젝트2 :{name :string, age ?:number} = { name: '장금이'};
4. 함수
// function 함수(x: 파라미터타입): 리턴값타입 {
function 함수(x: number): number {
return x * 2;
}
함수(2);
// 리턴값 명시적으로 막고싶다면 void
function 함수2(x: number): void {
x + 1;
}
함수2(2);
// 파라미터가 옵션이라면 ?: x타입
// 중요한건 ?: number 은 number | undefined라는 말 -> 그래서 이경우 타입 에러 날거임
// x는 number일수도, undefined일수도 있는 타입이라.
// 그래서 x를 number로 확실히 해야함.
function 함수3(x?: number): void {
x + 1;
}
함수3(1);
// narrowing
function 함수4(x?: number): void {
if(typeof x = number){
x + 1;
}
}
함수4(1);
#2. any , unknown
- 타입을 사용하고 싶지 않을때 any나 unknown을 사용하면 된다.
- 하지만 타입스크립트에서 타입을 안쓸거면 타입스크립트 왜써..
let 이름: any; // 타입 실드 해체 문법, 일반 js변수로 만들고 싶으면 쓰셈
이름 = [];
이름 = 123;
let 이름2: unknown; // any와 비슷한데 더 안전하다
이름2 = 132;
// 둘이 뭐가 다르냐면
// any는 정말 자스처럼
// unkown은 unkonwn 타입이 되는거다.
이름 - 1; // any타입 - 지금 숫자 대입되어있으면 연산된다
이름2 - 1;
// unknown : type이 다르면 연산도 불가. 숫자 대입해도 얘 타입은 unknown이어서 연산 불가
'Study > TypeScript' 카테고리의 다른 글
[TypeScript] Type alias 타입 변수같이 저장하고 사용할수 있음 (0) | 2023.07.06 |
---|---|
[TypeScript] TS 시작하기 (0) | 2023.07.04 |