Programming/Typescript

Interface

c29130811 2021. 5. 22. 15:38

인터페이스(Interface)는 Java나 C# 등 정적 타입 언어에서 이미 많이 쓰이는 개념으로

객체가 여러 가지 프로퍼티 혹은 메서드를 가질 것이라고 선언하는 것.

// interface
interface student {
  id: number;
  name: string;
}

let person1: student;

person1 = {id: 1, name: 'june'};

person1은 student의 interface에 맞춰야 한다.

 

선택적 프로퍼티

인터페이스의 프로퍼티가 조건에 맞춰 존재하거나 없을 수 있을 경우에는, 프로퍼티 이름 끝에 ?을 붙여 사용한다.

// interface
interface student {
  id: number;
  name: string;
  score?: number;
}

읽기 전용

일부 프로퍼티들은 객체가 처음 생성 될 때만 수정 가능해야 할때는 이름 앞에 readonly를 붙여 사용한다.

// interface
interface student {
  readonly id: number;
  readonly name: string;
  score?: number;
}

let arr: ReadonlyArray<number> = [1,2,3,4,5];
arr[0] = 5;
// Array가 Ready Only라서 Error가 발생 

함수 타입

함수 타입을 정의할 때

interface sum {
  (arg1: number, arg2: number): numer;
}

const sum: sum = (arg1: number, arg2: number): number => {
  return arg1 + arg2;
};

 

728x90

'Programming > Typescript' 카테고리의 다른 글

Typescript 기본 타입  (0) 2021.05.22