인프런 이재승 님 타입스크립트 시작하기 강의를 듣고 여러 레퍼런스를 참고하여 정리한 노트입니다. 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), 파일참조 오류, 타입 체크 오류, ... 컴파일러는 컴파일 타임 에러를 발생시키고 일반적으로 문제를 일으킨 소스코드 라인을 지시해준다. 런타임 에러 예..
자바스크립트 이벤트 루프 정리 자바스크립트 내부는 아래와 같이 구성되어 있다. Memory Heap: 변수나 함수 등이 저장(할당)되는 공간. 구조화 되지 않은 넓은 메모리 영역. Call Stack: 실행될 코드가 한 줄 단위로 저장되고 실행되는 공간. (LIFO) Web API: 비동기 처리를 담당. Callback Queue: 비동기 처리가 끝난 후 실행되어야 할 콜백 함수가 차례로 할당되는 곳. Microtask Queue(Job Queue): Promise 처리. 실행 순위 1순위. Animation Frames: 애니메이션 함수. 실행 순위 2순위. Task Queue(Event Queue): setTimeout, setInterval 처리. 실행 순위 3순위. Event Loop: 콜 스택이..