언어/TypeScript (3) 썸네일형 리스트형 맵의 일부만 구현하고 싶을 때: TypeScript Partial 과목별 문제들을 매핑하는 객체를 만들던 중이었다. import englishQuestions from '../../__fixtures__/questions/starred/english'; import generalQuestions from '../../__fixtures__/questions/starred/general'; import { SubjectName } from './types'; type QuestionsType = { starred: Record; }; const questions: QuestionsType = { starred: { general: generalQuestions, english: englishQuestions, }, }; export default questions; 이런.. 타입 가드란? 타입 가드(Type Guard)를 사용하면 조건문에서 객체의 타입을 좁혀나갈 수 있다. typeof TypeScript는 JavaScript의 instanceof, typeof 연산자를 이해할 수 있다. 즉 조건문에 typeof와 instanceof를 사용하면 TypeScript는 해당 조건문 블록 내에서 해당 변수의 타입이 다르다는 것을 이해한다. 아래 예시를 보면 특정 메소드가 string에 존재하지 않는 다는 사실을 인식해 사용자 오타가 있을 수 있음을 지적한다. function doSomethingx(x: number | string) { if (typeof x === 'string') { // 이 조건문 안에 있는 x는 무조건 string이다. console.log(x.subtr(1)); // .. 타입 표명이란? TypeScript에서는 시스템이 추론 및 분석한 타입 내용을 우리가 원하는 대로 얼마든지 바꿀 수 있다. 이 때 타입 표명(type assertion)이라고 불리는 메커니즘이 사용된다. TypeScript의 타입 표명은 프로그래머가 컴파일러에게 내가 너보다 타입에 더 잘 알고 있고, 나의 주장에 대해 의심하지 말라고 하는 것과 같다. as로 타입 표명을 하는 순간 이건 무슨 일이 있어도 그 타입이라고 단언 한 것이기 때문에 타입 스크립트가 해당 부분의 에러를 잡지 않을 수 있다. 이전 1 다음