호출 시그니처 아래 코드의 sum은 함수이므로 sum은 Function 타입이라고 말할 수 있습니다. function sum(a: number, b: number): number{ return a + b } Function은 사람들이 즐겨 사용하는 타입은 아닙니다. object로 모든 객체를 가리킬 수 있는 것처럼 Function은 모든 함수의 타입을 뜻할 뿐이며 이것이 가리키는 특정 함수와 타입과 관련된 정보는 아무것도 알려주지 않습니다. sum은 number를 인수로 받아 한 개의 number를 반환하는 함수입니다. TypeScript에선 다음과 같이 표현할 수 있습니다. (a: number, b: number) => number 이 코드는 타입스크립트의 함수 타입 문법으로, 호출 시그니처(call ..
반복자(Iterator) 반복자(iterator)와 제너레이터(generator)는 상생관계입니다. 제너레이터로 값의 스트림을 생성할 수 있고, 반복자로 생성된 값을 소비할 수 있기 때문입니다. 가령 createFibonacciGenerator 함수를 호출하면 Symbol.iterator 프로퍼티와 next 메서드를 모두 정의한 값을 얻게 됩니다. 즉, 이터러블과 반복자 두 가지가 결합된 제너레이터가 반환됩니다. Symbol.iterator와 next를 구현하는 객체(또는 클래스)를 만들어 반복자나 이터러블을 직접 정의할 수 있습니다. 아래는 1에서 10까지의 숫자를 반복하는 반복자를 정의하는 예시입니다. let numbers = { *[Symbol.iterator]() { for (let n = 1; n
제너레이터 함수(generator function; 줄여서 제너레이터) 제너레이터 함수는 여러 개의 값을 생성하는 편리한 기능을 제공합니다. 제너레이터 함수를 이용하면 값을 생산하는 속도도 정교하게 조절할 수 있습니다. 제너레이터 함수는 소비자가 요청해야만 다음 값을 계산하기 때문에 무한의 목록 생성기 같은 까다로운 기능을 제공할 수 있습니다. 제너레이터 함수는 아래처럼 동작합니다. function* createFibonacciGenerator() { // ① let a = 0 let b = 1 while (true) { // ② yield a; // ③ [a, b] = [b, a + b] // ④ } } let fibonacciGenerator = createFibonacciGenerator(); fi..
TypeScript 실행 타입스크립트 설치 이전에 node가 설치되어 있어야 합니다. node 설치 방법은 아래 글을 참고해 주세요:) https://cozy-linda.tistory.com/entry/TypeScript-%EC%84%A4%EC%B9%98-%EB%B0%8F-%EC%82%AC%EC%9A%A9 TypeScript 설치 JavaScript 실행 환경 설치 TypeScript를 사용하려면, JavaScript 실행 환경이 있어야 하며, node.js와 browser가 필요합니다. Node.js Node.js는 Chrome's V8JavaScript Engine을 사용하여, JavaScript를 해석하고, OS 레벨에서 cozy-linda.com 1. 디렉터리 생성 cmd 창을 열고 아래의 명령어..