타입정의하기

타입정의하기 updated_at: 2024-01-26 17:30

타입정의하기

angular에서 타입을 정의하는 다양한 방법에 대해 간단한 예제들을 리스트업 해 보았습니다.

any

가장 많이 사용하는 방식으로 object의 타입을 잘 모를때 정의 할 수 있습니다.

private anytype: any;

private anyMethod(anyvalue: any): any {
  return anyValue;
}

두가지 이상 정의할때

변수의 값이 두가지 이상의 타입을 가질때 사용 가능합니다.

private strOrnumber: string | number;
private strOrnumber: string | null;
private anyMethod(anyvalue: string | number): string | number {
  return StringOrNumber;
}

바로 정의

string, number같은 경우는 불편함 없이 바로 사용가능하나 object같은 경우 interface를 설정하여 정의하기를 권장하나 조금 번거러울때 사용하시기를..

private anyMethod(users: Array<{ id: string; email: string }>) { // any를 사용하는 것보다 가독성이 있다.
  .....
}

Observable

getBookList(): Observable<any> {
  return this.http.get(`${this.api}?q=query`)
  .pipe(map((books: any) => books.items || []));
}

변수초기화

angular에서는 변수설정시 초기값을 넣거나 혹은 any로 정의하거나 혹은 constructor에서 값을 정의하기를 권장합니다.
하지만 그렇지 못할 경우 '!' 이나 '?'을 사용합니다.

private anyvalue: any; // ok
private setvalueonconstrouct: number; // ok, 아래 constructor에서 정의
private mystring: string; // 경고발생, 이때 ! 나 ? 을 사용하여 경고를 없앱니다.
constructor() {
  this.setvalueonconstrouct = 3;
}

!

값이 할당되지 않았지만 프로그램에서 할당 됩니다.

private notdefined_var!: string

?

undefined로 할당됩니다.

private undefined_var?: string
평점을 남겨주세요
평점 : 5.0
총 투표수 : 1

질문 및 답글