인터페이스(interface)

적자생존·2022년 7월 14일
0

typeScript

목록 보기
3/8

1. 인터페이스

객체를 만들고 사용할 때 에러가 발생한다.

이유는 user에 object 라고 타입을 명시해 주었지만 객체의 property의 타입까지는 알 수 없는 것이기 때문이다.

interface로 타입을 만들어 주면 된다

let user에 들어 있는 property를 알려주는 에러

let user를 작성해주면 내부의 property를 확인할 수 있다.

2. optional과 readonly

가. optional

타입을 추가할때 있어도 되고 없어도 될때를 지정하고 싶을 때

타입 지정시 ?를 붙혀주면 된다.

그러면 현재 타입을 사용할 때 내부의 값이 있어도 되고 없어도 됨

나. readonly

만약 타입을 수정하지 않도록 사용하고 싶을때는?

타입 지정시 앞에 readonly를 붙혀준다.

그러면 아래와 같이 수정할 경우 읽기 전용이기 때문에 에러를 발생한다.

3. 문자열 인덱스 서명

interface안에 []로 묶어서 사용할 수 있음

위의 타입은 number라는 타입에 string을 받는 다는 것으로 학년 별로 모두 optional하게 줄 수 없기 때문에 만든것

4. 문자열 리터럴 타입

3번 처럼 하면 grade의 경우 입렵받는 값이 너무 광범위 하다.
string 타입이기 때문에 A,B,C가 아닌 아무 문자열이 들어와도 에러가 발생하지 않는다.

다음과 같이 type을 선언해주고 그 타입의 문자열들만 받도록 하는 것이다.

profile
적는 자만이 생존한다.

0개의 댓글