gyeong3un2

[땅콩코딩] 타입 추론, 명시, 인터페이스, 메소드 본문

Frontend/TypeScript

[땅콩코딩] 타입 추론, 명시, 인터페이스, 메소드

ʕっ•ᴥ•ʔっ 프론트엔드 개발하는 쿼카 2023. 3. 22. 18:26

타입 추론 (Type Inference)

이 경우 변수 a 타입을 따로 설정하지 않아서, 5라는 값으로 타입을 추론해서 숫자라는 타입이 된다.

 

타입스크립트에서는 타입 표기가 없는 경우 나의 코드를 읽고 분석하여 타입을 유추해낼 수 있다.

 

타입 명시 (Type Annotations)

변수를 선언할 때, 변수 값의 타입을 명시함으로써 변수 값의 데이터 타입을 지정!

 

Syntax

let x : string = '나는 영원한 문자열';

 

반환되는 객체의 구조를 타입으로 지정

 

타입으로 사용되는 인터페이스 (Interface)

인터페이스 이름은 대문자로 시작한다.

 

완성된 인터페이스는 타입으로써 사용 가능!

인터페이스를 타입으로 가지는 값은 인터페이스의 구조를 그 값으로 가지도록 강제된다.

 

타입스크립트 네이밍 컨벤션 문서

https://github.com/microsoft/TypeScript/wiki/Coding-guidelines 

 

Coding guidelines

TypeScript is a superset of JavaScript that compiles to clean JavaScript output. - microsoft/TypeScript

github.com

 

선택적 프로퍼티

이때, Student라는 인터페이스 안에서 age를 설정해도 되고, 안해도 되는 선택적 프로퍼티를 할 수 있다.

 

인터페이스와 메소드(method)

메소드는 객체(Object)내에서 선언된 함수

Interface내에 addComment라는 메소드를 추가

 

인터페이스에서 사용할 수 있는 Read Only 속성

Readonly 프로퍼티는 읽기 전용 프로퍼티로 객체 생성시 할당된 프로퍼티의 값을 바꿀 수 없다.

readonly를 붙이면 수정 불가능

 

결론

ts 파일이 js 파일로 변형될 때, ts에 있는 interface가 사라진다.

이는 인터페이스는 작성중인 코드에 대한 더 많은 정보를 타입 스크립트에게 제공하기 위해 존재한다고 볼 수 있다.