본문 바로가기

Ts

TypeScript 타입 지정법.

TypeScript 를 공부하며 타입 지정법을 정리해놨는데 블로그에 공유하려 한다!

// 타입 지정하는법
const num :number = 123;
// mix 변수에는 string이나 number가 들어온다는 뜻이다.
// array 타입 지정법 아래 예시의 string 부분 원하는걸로 변경 가능
// arr 변수에는 string인 array만 들어올 수 있다
const arr :string [] = ['kim', 'jung']
// object 타입 지정법 obj 변수에는 {drink : string}이런 object만 들어갈 수 있다. 
// 만약 :{drink? : string} ?추가하면 drink가 들어올 수도 아닐수도 있다는 뜻이다.
const obj :{drink : string} = {"drink" : 'mountaindew'}
// union type 지정법
const mix :string | number = 'kim';
// 이렇게 응용도 가능하다
const mixid :string[] | number = ['lee'];
// 만약 너무 길게 느껴진다면 type 지정도 가능하다. 타입명은 앞에 대문자로!
type Mixtype = string[] | number
// 이런식으로 사용 가능
const mixArrNum :Mixtype = 123; 
// 함수 타입 지정하기 파라미터   리턴값의 타입 지정 자기
function func (x:number) : number{
    return x*2
}
// 아래는 에러 예시 string 넣으면 에러가 뜬다. 
func('ss')
// tuple 타입: 길이와 각 요소마다의 타입이 고정된 배열이다 
// Member 타입은 배열이어야 하고 숫자와 블리언 이어야한다. 
type Member = [number, boolean];
// jung 변수는 배열이어야 하고 숫자와 블리언 이어야한다. 
const jung:Member = [123,false]
// 아래는 에러 예시 반대로 하면 에러가 난다. 
const long:Member = [false,123]
// object 에서 여러 속성의 타입을 지정해야 한다면 아래처럼.
// [key: string] :string은 모든 문자로 된 속성들이 string 이어야 한다는 뜻이다.
type Many = {
    [key: string] :string,
}
const con : Many = {name : "kim", age: '123'}
// 아래는 에러 예시 string 가 아니면 에러가 뜬다.
const conErr : Many = {name : "kim" age: 123}

하지만 모든 변수에 타입을 지정해 줄 필요는 없다.

 

 

요로코롬 자동으로 타입을 지정해주기 때문이다.

다른 상황일때

// object의 여러 타입을 지정해 주고 싶으면
let project = {
    member : ['kim', 'park'],
    days : 30,
    started : true,
  }
  // 이렇게 타입 지정해주면 댐
  type Types = {
    member : string[],
    days : number,
    started : boolean,
  }
  // 사용
let project: Types = {
    member : ['kim', 'park'],
    days : 30,
    started : true,
  }

'Ts' 카테고리의 다른 글

TypeScript 2편! (any, unknown)  (0) 2023.08.01