본문 바로가기
JavaScript

[JavaScript기초] 값으로서의 함수와 콜백

by Meaning_ 2022. 3. 21.
728x90
반응형

값으로서의 함수 

 

함수를 값으로 이해하면 된다.

a라는 함수를 변수로 설정하면 그 값은 function(){}이 된다.

 

심지어 함수는 객체 안에도 들어갈 수 있다. a 객체 안에 key는 b 이고 value는 함수이다. 

b는 객체안에서 변수의 역할을 한다. 또한 객체 안에서 변수 역할을 하는 걸 속성이라 한다.

이렇게 속성값으로 담겨진 함수메서드라한다.!

 

 

함수의 용도

1. 반환값을 함수에 사용 

 

우선 첫번째로 cal('plus')부분만 확인해서 mode가 'plus'이기에 속성값이 plus인 곳으로

향한다.

 

2와 1은 function의 매개변수로 들어간다.

 

결론적으로 cal('plus')(2,1)의 값은 3이 된다. 

 

2.배열의 값으로도 사용 가능

 

 

 

콜백

어떠한 함수가 수신하는 인자가 함수인 경우이다.

numbers 리스트를 numbers.sort()하면 정렬이 안된다.

 

그래서 정렬 하는 함수인 sortfunc를 만들어줄 거다

여기서 1은 true,-1은 false다

분기문을 더 짧게 고치면 return a-b;로 고칠 수 있다.

이러면 정렬되어서 답이 출력되는 것을 확인할 수 있다.

numbers.sort에서 점이 있는데 --> 점은 객체라는 것을 의미한다. 즉, numbers는 배열객체인거다

sort는 객체에 속해있기에 메서드라하는데 sort같은 경우는 js가 기본적으로 제공하는 빌트인 메서드이다.

 

sortfunc를 콜백함수라 하는데 js에서 콜백이 가능한 이유는 js에서 함수가 값이기 때문이다. 

 

 

728x90
반응형

댓글