Narrowing을 알기 전에 TypeScript의 유니언 타입부터 알아야될 것 같다.Union Type값에 허용되는 타입을 두 개 이상의 가능한 타입으로 확장하는 것type Person = { name: string; phone: number | string;};위에서 phone: number | string처럼 하나의 값이 여러 타입 중 하나가 될 수 있을 때 유니언 타입이라고 한다. 유니언 타입으로 선언된 값은 타입이 명확하지 않다. 그래서 특정 타입에만 존재하는 속성이나 메서드에 접근하려면 Narrowing을 통해 타입을 좁혀나가야 한다. 코드 흐름이나 조건문 등을 통해 해당 값이 어떤 타입인지 유추하게끔 해준다. 이를 위해 타입가드를 사용한다. 타입 가드: Narrowing을 수행할 수..
TypeScript

타입스크립트의 컴파일러 동작 방식타입스크립트의 컴파일러 동작은 간단히 이와 같이 이루어진다. tsconfig.json을 먼저 읽고 실행하게 된다. PreProcess FilesTokenize(Scan) and Parse BinderType CheckTransformEmit각 단계를 구체적으로 알아보자.1. tsconfig.json 읽고 실행tsconfig.json파일은 ts를 js로 어떻게 변환할지 어떤 옵션을 따를지 명시하는 컴파일 설정파일이다. 그래서 가장 먼저 읽는다. 처음 설정을 하게 되면 어떤 버전의 javaScript로 변환할지, 타입을 얼마나 엄격하게 할지 정해져 있다. 그 외에도 설정은 개인적으로 프로젝트에 맞게 설정해주면 된다.3. PreProcess Filestsconfig.json를 ..

1. 카카오 API https://apis.map.kakao.com/카카오 API 사이트에서 키발급하기를 누른다. 애플리케이션 추가하기를 누른다. 뜨는 창에 애플리케이션 정보를 입력하면 끝 😚 만들어진 애플리케이션을 클릭하여 쓰여진 정보를 입력하고, 플랫폼 등록을 하면된다. 임시적으로 플랫폼 주소는 http://localhost:3000으로 지정하면 된다. 아래 카카오 지도 가이드를 참고 하면 된다. [카카오 지도 가이드] https://apis.map.kakao.com/web/guide/ 2. React + TypeScript에서 카카오맵 이용하기1. 우선 발급 받은 key를 .env파일을 만들어 넣어준다. env 파일이란?포트, DB관련 정보, API_KEY등의 환경변수 파일이다. 주로 오픈소스에 올..