JS & TS/JavaScript

[JavaScript] function

Bay Im 2024. 2. 8. 10:37
  • 함수(Function)
    • 함수는 하나의 단위로 실행되는 문(statement)들의 묶음.
    • 함수도 객체(Object)
    • 호출 당시에 평가되고 실행된다.
  • 함수 생성 방식
    • 함수 선언문
      • function f() {…}
      • (function() {…} 익명 함수 표현식)
    • 함수 표현식
      • const f1 = function ff() {…}
      • const f2 = function() {…}
  • 즉시 호출 함수(IIFE, Immediately Invoked Function Expression)
    • (function() { … }) ();
    • 불필요한 전역 변수와 메모리 낭비를 줄일 수 있다.
  • 화살표 함수(Arrow Function)
    • non-constructor, 함수를 반환하는 고차 함수에 사용하기 좋다.
    • const f3 = () ⇒ {…};
    • 생략 가능한 것
      • function keyword
      • 매개변수가 1개라면 매개변수의 괄호
      • body가 1개 문장이면 중괄호와 return 문
  • this를 binding 하는 방법
    • fn. call(thisBindingObject, args1, args2, …_’
    • fn.apply(thisBindingObject, [args1, …]);
    • const bindFn = fn.bind(thisBindingObject);
      • bindFn(args1, args2, …);
  • 순수 함수(pure function)
    • 입력이 같으면 결과도 같다.
    • 부수 효과가 없다. (외부의 값을 변경시키지 않아야 한다.)
  • 콜백 함수(callback function)
    • 매개변수로 함수를 전달해서 함수 내에서 매개변수 함수를 실행하는 것 
  • 고차 함수(Higher-Order function)
    • 인수(매개 변수)로서의 함수
    • 반환 값으로서의 함수(closure)
    • 식별자로서의 함수
    • 배열/객체 안의 함수(배열 원소)
    • 1급 객체로서의 함수
    • const f2 = function (f) {…} 랑 const f2 = (f) ⇒ 요거랑 같다.
728x90

'JS & TS > JavaScript' 카테고리의 다른 글

[JavaScript] Object  (0) 2024.02.08
[JavaScript] Array  (0) 2024.02.08
[JavaScript] scope, 실행 컨텍스트, strict mode  (0) 2024.02.08
[JavaScript] 할당, 구조분해할당  (0) 2024.02.08
[JavaScript] 형 변환, Hoisting  (0) 2024.02.08