- Published on
✨ 한 눈에 보는 타입스크립트 #8 함수
- 글쓴이
📌 목차
💁🏻
- Intro
- 타입스크립트 개요
- 개발환경
- 타입 기본(Types)
- 인터페이스 (Interface)
- 타입 별칭 (Type Aliases)
- 제네릭 (Generic)
- 함수
- 클래스
- Optional
- 모듈
- TS 유틸리티 타입
- 참고 자료 (References)
함수
this
타입스크립트 함수의 주요 특징 중 하나.
함수 내 this
는 전역 객체를 참조하거나(sloppy mode),
undefinded
(strict mode)가 되는 등
우리가 원하는 콘텍스트(context)를 잃고 다른 값이 되는 경우들이 있다.
이 상황에서 this
콘텍스트가 정상적으로 유지되어 a
을 참조할 수 있는 방법은
- bind 메소드를 사용해
this
를 직접 연결
obj.b(); // Hello~
const b = obj.b.bind(obj);
b(); // Hello~
function someFn(cb: any) {
cb();
}
someFn(obj.b.bind(obj)); // Hello~
setTimeout(obj.b.bind(obj), 100); // Hello~
- 화살표 함수 사용
obj.b(); // Hello~
const b = () => obj.b();
b(); // Hello~
function someFn(cb: any) {
cb();
}
someFn(() => obj.b()); // Hello~
setTimeout(() => obj.b(), 100); // Hello~
오버로드 (Overloads)
이름은 같지만 매개변수 타입과 반환 타입이 다른 여러 함수를 가질 수 있는것.
함수 오버로드를 통해 다양한 구조의 함수를 생성하고 관리할 수 있다.