
인프런 이재승 님 타입스크립트 강의를 듣고 여러 레퍼런스를 참고하여 정리한 내용입니다. 1. 타입호환성 타입 호환성은 어떤 타입을 다른 타른 타입으로 취급해도 되는지 판단하는 것이다. 정적타입언어의 가장 중요한 역할은 타입호환성을 통해 컴파일 타임에 호환되지 않는 타입을 찾아내는 것이다. 어떤 변수가 다른 변수에 할당 가능하기 위해선 해당 변수의 타입이 다른쪽 변수 타입에 할당될 수 있어야 한다. 타입이 가질 수 있는 값의 집합을 생각해야 한다. function func1(a: number, b: number | string) { const v1: number | string = a; const v2: number = b; // error } function func2(a: 1 | 2) { const v..

인프런 이재승 님 타입스크립트 시작하기 강의를 듣고 여러 레퍼런스를 참고하여 정리한 노트입니다. 1. 몇 가지 기본 타입1 const v: number = 123; const tf: boolean = 123 > 343; const msg: string = '하이'; const list: number[] = [1, 2, 3]; const list2: Array = [1, 2, 3]; list.push('a'); // list는 number만 들어갈 수 있기 때문에 에러 발생 // tuple: 배열처럼 생겼지만 각 인덱스별로 타입을 미리 지정해놓음 const tuple: [string, number] = ['123', 123];자바스크립트에서는 array라는 타입은..

인프런 이재승 님 타입스크립트 시작하기 강의를 듣고 여러 레퍼런스를 참고하여 정리한 노트입니다. 1. 타입스크립트란? 자바스크립트의 기능은 모두 지원하면서 정적 타입을 지원하는 자바스크립트의 수퍼셋(superset). 자바스크립트 동적 타입 언어 변수의 type이 런타임에 결정 타입스크립트 정적 타입 언어 변수의 type이 컴파일타임에 결정 동적 타입 언어와 정적 다입 언어는 어떻게 다른가? 정적 타입 언어 진입 장벽 높음(타입 종류나 지정 등 처음부터 배울 양이 많아 일반적으로 높음) 코드의 양이 많을 때 생산성 높음 타입 오류가 컴파일 때 발견 예시: Java, C++, ... 동적 타입 언어 진입 장벽 낮음 코드의 양이 적을 때 생산성 높음 타입 오류가 런 타임 때 발견 -> 사용자에게 버그가 노출..
컴파일타임(compiletime)과 런타임(runtime) 타입스크립트를 공부하던 중 컴파일타임과 런타임의 구분이 궁금해졌다. 구분 런타임(Runtime)과 컴파일타임(Compiletime)은 소프트웨어 프로그램 개발의 서로 다른 두 계층의 차이를 설명하기 위한 용어이다. 컴파일타임(Compiletime): 개발자가 작성한 소스코드를 컴파일하여 기계어로 변환하는 과정. 런타임(Runtime): 컴파일을 마친 프로그램이 사용자에 의해 실행되어 동작되어지는 때. 컴파일 타임 에러, 런타임 에러 예시 컴파일타임 에러 예시: 신택스에러(Syntax error), 파일참조 오류, 타입 체크 오류, ... 컴파일러는 컴파일 타임 에러를 발생시키고 일반적으로 문제를 일으킨 소스코드 라인을 지시해준다. 런타임 에러 예..