함수 선언문함수 표현식화살표 함수✅ 변수와 달리 함수의 매개변수 타입과 반환 타입을 생략하는 것은 좋지 않음(∵ 타입이 생략되어 있으면 함수의 구현의도를 알기 어렵고 잘못 사용하기 쉬움) 함수 시그니처: 함수의 타입✅ undefined 타입은 타입스크립트의 타입 계층도
고차 함수: 또 다른 함수를 반환하는 함수클로저: 어떤 함수에서 선언한 변수를 참조한느 내부함수를 외부로 전달할 경우, 함수의 실행 컨텍스트가 종료된 후에도 해당 변수가 사라지지 않는 현상
✅ isArray: 매개변수로 전달받으 심벌이 배열인지 객체인지 알려줌제네릭 타입: 타입을 T와 같은 일정의 변수(타입 변수)로 취급하는 것
명령형 프로그래밍: 좀 더 CPU 친화적인 저수준 구현 방식: 시스템 자원의 효율을 최우선으로 생각선언형 프로그래밍: 인간에게 좀 더 친화적인 고수준 구현 방식: 범용으로 구현된 함수를 재사용하면서 문제를 해결
반복기
yield: 마치 return 키워드처럼 값을 반환: function\* 키워드를 사용한 함수에서만 호출 가능: 반복기를 자동으로 만들어 줌: 반복기 제공자 역할도 수행✅ function\* 키워드로 만든 함수를 '생성기(generator)'라고 한다. => 화살표 함
Node.js 환경 \- tsconfig.jsonModuleResolution: Node : 상대적인 경로('../', './') 입력하지 않을 시 node_modules 폴더에서 모듈을 찾음 링크 참조 https://www.typescriptlan
제네릭 타입: 해당 심벌의 타입을 미리 지정하지 않고 다양한 타입에 대응하려고 할 때 사용제네릭 타입 제약: 제네릭 함수의 타입을 제한하고 싶을 때 사용new 타입 제약인덱스 타입 제약 \-- 두 번째 pick함수에서 obj에 없는 key를 불러 오류 발생
합집합 타입: '또는'의 의미인 '|' 기호로 다ㅑㅇ한 타입을 연결해서 만든 타입교집합 타입: '그리고'의 의미인 '&' 기호로 다양한 타입을 연결해서 만든 타입식별 합집합 구문: 합집합 타입을 구성하는 인터페이스들이 모두 똑같은 이름의 속성을 가지고 있어야 함타입 가
방법1 - 함수 표현식 오버로드방법2 - 함수 선언 오버로드