함수형 프로그래밍의 핵심 개념과 이를 뒷받침하는 타입스크립트의 타입 시스템

타입 추론, 고차 함수와 함수 타입, 제네릭을 비롯한 다양한 타입 기능을 통한 안전하고 유지보수하기 쉬운 코드

객체지향 클래스와 함수형 함수를 결합하는 방법

함수형 프로그래밍의 뿌리라 할 수 있는 LISP의 핵심 개념

2.1 타입 추론과 함수 타입 그리고 제네릭

<aside> 💡

타입스크립트의 타입 추론과 제네릭을 알아본다. 이들은 함수형 프로그래밍 패턴을 구현하기 위해 필수적으로 알아야 할 개념들이다. 타입스크립트는 기본적인 변수와 상수의 타입들을 추론해줄 뿐 아니라, 인자로 넘겨진 함수의 타입들 역시 자동으로 추론해 주며, 제네릭을 사용하면 같은 함수라 하더라도 여러 타입들을 지원할 수 있어 다형성을 구현하는 데 도움이 된다.

</aside>

고차 함수와 제네릭을 활용하여 복잡한 함수형 프로그래밍 패턴을 구현할 수 있음.

2.1.1 타입 추론

타입스크립트의 타입 추론은 코드 작성 시 타입을 명시적으로 선언하지 않아도 타입스크립트 컴파일러가 자동으로 변수, 함수, 표현식 등의 타입을 추론해주는 기능 → 코드의 간결성과 타입 안정성을 확보할 수 있음

타입 추론의 기본 컨셉

let a = 10

a는 명시적으로 타입이 선언되지 않았지만 타입스크립트가 10이라는 값을 통해 a의 타입을 number로 추론. 다른 타입을 a에 할당하려 하면 타입 오류가 발생

변수와 상수의 타입 추론

변수 타입 추론

타입스크립트는 변수를 선언할 때 초기화된 값으로부터 타입을 추론

let message = "Hello Typescript!"