04-2. 함수와 메서드

euNung·2022년 6월 6일
0

타입스크립트

목록 보기
2/10
  • 고차 함수
    : 또 다른 함수를 반환하는 함수
const 함수이름 = (매개변수1: 타입1): 반환 함수 타입 => (매개변수2: 타입2): 반환 타입 => 함수 몸통
// 반환 함수 타입 ex
(number) => number
// 반환 타입 ex
number
  • 클로저
    : 어떤 함수에서 선언한 변수를 참조하는 내부함수를 외부로 전달할 경우, 함수의 실행 컨텍스트가 종료된 후에도 해당 변수가 사라지지 않는 현상

  • 색인 키 & 값
    : 객체의 속성 이름을 변수로 만드려고할 때 사용

	const 함수이름 = (key, value) => ({[key]: value})
    // 색인 가능 타입
    type KeyType = {
    	[key: string]: string
    }
    
  • 클래스 메서드
class A {
  method1: () => void = function(): void {
  	함수 몸통
  }
  // function 키워드 생략 가능
  method2(): void {
    함수 몸통
  }
- 정적 메서드
	: static 수정자를 속성 앞에 붙여서 정적으로 만듦
	: 클래스이름.정적메서드() 형태로 호출
	class 클래스이름 {
    	static 함수이름(): 반환타입 {
        	함수 몸통
        }
    }
	
	console.log(클래스이름.함수이름())

✅ 타입스크립트로 메서드 체인을 구현하려면 메서드가 항상 this를 반환하게 한다.

	class Calculator {
      constructor(public value: number = 0){}
      add(value: number) {
        this.value += value
        return this
      }
      multiply(value: number) {
        this.value *= value
        return this
      }
    }

	let calc = new Calculator
    let result = calc.add(1).add(2).multiply(3).multiply(4).value
    console.log(result)    // (0 + 1 + 2) * 3 * 4 = 36
profile
프론트엔드 개발자

0개의 댓글