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를 만들어줄 거다
분기문을 더 짧게 고치면 return a-b;로 고칠 수 있다.
이러면 정렬되어서 답이 출력되는 것을 확인할 수 있다.
numbers.sort에서 점이 있는데 --> 점은 객체라는 것을 의미한다. 즉, numbers는 배열객체인거다
sort는 객체에 속해있기에 메서드라하는데 sort같은 경우는 js가 기본적으로 제공하는 빌트인 메서드이다.
sortfunc를 콜백함수라 하는데 js에서 콜백이 가능한 이유는 js에서 함수가 값이기 때문이다.
728x90
반응형
'JavaScript' 카테고리의 다른 글
[JS] 자바스크립트에서 변수 안에 함수 넣기 / eventListener (0) | 2022.07.07 |
---|---|
[JS] 웹 사이트에 시계 넣어보기 /cannot set properties of null 해결방법 (0) | 2022.03.25 |
[JS] 빠진개념 채우기 (0) | 2022.03.21 |
댓글