전체/장난하기
서브루틴-함수-객체 통합
Coolen
2020. 5. 7. 13:26
과거에 BASIC을 배울 땐 서브루틴과 함수가 분리되어 있었다. 포트란도 그러했다. 그러다가 C 언어를 배울 땐, return 유무에 따라 성질이 달라질 뿐 모두 함수로 통합이 됐다. 그러다가 JavaScript를 배울 땐, _객체_로서 함수 개념을 배우게 된다. 이 말은 함수와 자료가 통합되었다라고 말할 수 있다.
Javascript가 구현하는 함수객체는
function func1 ( ) {
/* code */
}
- func1()으로 쓰면 { ... } 안의 내용이 실행된다.
- func1.abc = "def" 로 쓰면 func1를 객체 취급하여 'abc'라는 키를 추가한다.
이런 발상의 전환이 통합의 구체적인 모습이다.
- func1.apply
- func1.call
- func1.bind
이런 함수는 func1 이라는 함수 객체가 만들어질 때 추가되는 속성이라고 생각하면된다.
반응형