TIR: 타입스크립트 프로그래밍 | 3. 타입의 모든것 / 함수(1) - 220925

Lumpen·2022년 9월 25일
0

TIR

목록 보기
35/40

함수

타입스크립트에서 가장 중요함

  • 함수를 선언하고 실행하는 방법들
  • 시그니처 오버로딩
  • 다형적 함수
  • 다형적 타입 별칭

함수의 선언과 호출

자바스크립트에서 함수는 일급 객체다
객체를 다루듯 함수를 변수에 할당하거나,
함수를 다른 함수로 전달하거나,
함수에서 함수를 반환하거나,
객체와 프로토타입에 할당하거나,
함수에 프로퍼티를 기록하거나,
함수에 기록된 프로퍼티를 읽는 등의 작업을 할 수 있다
이 모든 것들을 타입 시스템에 녹여냈다

타입스크립트의 함수

function add(a: number, b: number) {
  return a + b
}


function add(a: number, b: number): number {
  return a + b
}

보통 함수의 매개변수의 타입은 명시적으로 정의한다
타입스크립트는 항상 본문에서 사용되는 타입들을 추론하지만
특별한 상황이 아니라면 매개변수 타입은 추론하지 않는다

함수의 반환 타입은 자동으로 추론하지만
명시적으로 적어줄 수 있다

책에서는 대부분의 추론 가능한 타입을 명시적으로 하는 것에 대해 회의적이다
개인적으로는 협업에서 return type을 명시해주는 것은 꽤나 도움이 될 것이라고 생각된다

함수 작성 방법

최소 다섯가지의 함수 선언 방법을 지원한다

  • 이름을 붙인 함수
function greet(name: string) {
  return 'hello' + name
}
  • 함수 표현식
const greet2 = function(name: string) {
  return 'hello' + name
}
  • 화살표 함수 표현식
const greet3 = (name: string) => {
  return 'hello' + name
}
  • 단축형 화살표 함수 표현식
const = greet4(name: string) => 'hello' + name
  • 함수 생성자
const greet5 = new Function('name', 'return "hello" + name')

타입스크립트는 함수 생성자를 제외한 모든 문법을 안전하게 지원하며
모든 문법은 보통 매개변수 타입의 필수 어노테이션, 반환 타입의 선택형 어노테이션에
적용하는 것과 같은 규칙을 따른다

매개변수는 함수 선언의 일부로, 실행에 필요한 데이터를 말하며 정형 매개변수라고도 부른다
인수는 함수 호출 시 전달하는 데이터로, 실질 매개변수로도 부른다

타입스크립트에서 함수를 호출할 때 타입에 대한 정보는 따로 제공하지 않아도 된다
인수를 전달하면 바로 타입 체크를 한다

profile
떠돌이 생활을 하는. 실업자는 아니지만, 부랑 생활을 하는

0개의 댓글