본문 바로가기

Javascript/기초공부

[Javascript: 값으로서의 함수] 속성값 / 메소드 / First-class citizen

값으로서의 함수

자바스크립트에서는 함수객체이다. 즉, 이다.

함수 역시 변수에 담을 수 있는 속성을 갖고있다는 뜻이다.

// 변수 a에 담겨진 함수
function a(){} // var a = function(){};
// 객체의 속성값(b)에 담겨진 함수(메소드)
a = {
	b:function() {}
}

 

다른 함수의 인자로 전달될 수 있다.

// 첫번쨰 인자는 함수, 두번째 인자는 함수의 파라미터값
function cal(func, num){
    return func(num)
}

function increase(num){
    return num+1
}

function decrease(num){
    return num-1
}

alert(cal(increase, 1)); // 2
alert(cal(decrease, 1)); // 0

* 함수의 리턴값, 배열의 값으로 사용할 수 있다.

* 변수, 매개변수, 리턴값의 용도로 사용될 수 있는 데이터First-class citizen[object]라고 한다.