JavaScript - 함수(Function)
- 함수(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