본문 바로가기

front-end 국비과정 학습일지

front-end 국비과정 일차 22일차 학습일지 TypeScript:



타입 시스템이란?
1Typescript컴파일러에게 타입을 명시적으로 지정하는 시스템 
2타입을 명시적으로 지정하지 않았을 경우 컴파일러가 타입을 추론한다

nolmplicitAny 옵션
타입을 명시적으로 지정하지 않았고 typescript 컴파일러가 타입 시스템에 의해 
자동으로 타입을 추론 할 때 any라고 판단하면 컴파일error를 발생시켜 개발자에게 타입을 명시하라고 유도하는 옵션이다

strictNullChecks 옵션
모든 타입에 자동으로 null과 undefined가 포함되어있는데,
모든 타입에서 null과 undefined를 제거해주는 옵션

nolmplicitReturns 옵션
함수안에 모든 코드가 값을 리턴하지 않으면 컴파일 error를 발생시킴


Structural Type Systemd이란?: 구조가 같으면, 같은 타입으로 인식한다

Nominal Type System이란?: 구조가 같아도 이름이 다르면, 다른 타입이다.


SuperType: subType보다 큰 범위에서 subType을감싸는 type을 의미한다
SubType: SuperType안에 내포되어 있고 SuperType에 감싸져 있는 type을 의미한다
ex)
let sub1:1 = 1 sub1의 type은 1이다 1은 number안에 내포되어있는 type이기 때문에 SubType이라 한다.
let sup1:number = sub1 sup1의 type은 number이고 number는 숫자1보다 큰범위에서 있기때문에 SuperType이라 한다.

SuperType은 subtype보다 큰 범위에 개념이기 때문에 subtype을 대체 할 수 있지만 subtype은 SuperType보다 작은 범위에 개념이기 때문에 SuperType을 대체 할 수 없다

typescript 공변 반병 구글링해보기

타입 별칭(type alias)
1타입의 이름을 지정 할 수있다.
2Inteface와 유사하다.
3만들어진 type을 표현하는 용도로 사용하는것이지 타입을 만드는 것은 아니다.