JavaScript Functions
익명 함수
이름 없이 생성되는 함수
생성되어 변수에 할당
변수는 함수의 이름 역할을 함!
선언적 함수 정의를 통해 생성된 함수의 이름도 함수를 가리키는 변수이다!
함수 호이스팅
JavaScript 에서는 모든 선언이 호이스팅 된다
함수 선언문의 경우 선언, 초기화, 할딩이 모두 이뤄져 실행 가능
함수 표현식은 변수 호이스팅이 발생하여 undefined. 즉, 실행 불가
배열 테스트 함수 (Call-back 함수)
Call-back 함수: method 실행 시 자동으로 호출되는 함수
Array helper methods
배열 검사 method의 call-back 함수
forEach
Element 하나하나 조작 시 사용
Element 하나하나 call-back 함수에 전달하여 처리
Usage
map
배열 요소 하나 하나에 call-back 함수 처리 후 새로운 배열 반환
filter
원하는 요소를 정리하여 새로운 배열 반환
요소 정리할 때 call-back 함수 사용
배열 객체 검사용 method 사용시 call-back 함수 전달 인자
element
index
array
every
모든 배열 요소 call-back 함수에서 제시하는 요소 통과 시 return true, 실패 시 return false
some
every와 논리적으로 반대되는 경우
call-back 함수 요구하는 element 한 개라도 존재: return true
하나도 없으면: return false
함수의 유효 범위
JavaScript === 함수형 언어
함수를 기준으로 유효 범위 설정
함수
: 자신만의 유효 범위 설정
함수 내부에서 선언된 변수 => 함수 내부에서만 유효
Closure
First class function
JavaScript 함수의 특징
함수를 인자로 전달 가능함
함수를 반환할 수 있음
변수에 함수를 할당 가능함
위의 조건은 programming 언어에서의 일급객체 (first class object / first class citizen) 의 조건이다
함수를 인자로 전달
함수를 반환
Closure
: closure는 함수와 함수가 선언된 어휘적 환경 (lexical scoping, environment)의 조합이다
밖에 있었던 변수 등을 안에서도 기억하고 있는 것!!!
LEGB rule
local
environment
global
build-in
Last updated