728x90
값으로서의 함수와 콜백(1)
함수의 용도 1
함수 = 값
예) var a = "value" - value라는 것이 값이고, a 변수
JavaScript에서는 함수도 객체다. 다시 말해서 일종의 값이다. 거의 모든 언어가 함수를 가지고 있다.
JavaScript의 함수가 다른 언어의 함수와 다른 점은 함수가 값이 될 수 있다는 점이다. 다음 예제를 통해서 그 의미를 알아보자.
function a(){}
// var a = function(){} 과 같다.
값으로서의 함수는 단지 변수에만 담길 수만 있는것이 아니다.
위의 예제에서 함수 a는 변수 a에 담겨진 값이다.
또한 함수는 객체의 값으로 포함될 수 있다. 이렇게 객체의 속성 값으로 담겨진 함수를 메소드(method)라고 부른다.
a = {
b:function(){
}
};
b라고하는 것은 그릇과 같은 역할 즉 key (변수와같은역할:어떠한값을 저장하고있기때문에) = 속성 property
속성에 저장되어있는 함수인 function(){} 은 value = 메소드
function cal(func, num){
return func(num)
}
function increase(num){
return num+1
}
function decrease(num){
return num-1
}
alert(cal(increase, 1));
alert(cal(decrease, 1));
alert(cal(increase, 1)); 을 실행하면 함수 increase와 값 1이 함수 cal의 인자로 전달된다.
함수 cal은 첫번째 인자로 전달된 increase를 실행하는데 이 때 두번째 인자의 값이 1을 인자로 전달한다.
함수 increase은 계산된 결과를 리턴하고 cal은 다시 그 값을 리턴한다.
728x90
'STUDY > JavaScript' 카테고리의 다른 글
[JS] 22-05-30 자바스크립트 연산자 ☑ (0) | 2022.06.02 |
---|---|
[JS] 22-05-27 DOM과 자바스크립트 기본문법 ☑ (0) | 2022.06.02 |
[JavaScript -생활코딩] 유효범위 (0) | 2022.06.01 |
[JavaScript -생활코딩] 정규표현식 (0) | 2022.06.01 |
[JavaScript -생활코딩] 보충정리 -2 (0) | 2022.06.01 |