[JS 학습의 ⑥] 함수와 대상, 그리고 호출 함수

JS 학습 시리즈의 목적


이 시리즈는 잭이 배운 자바스크립트의 기계 장치도 출력한다
지식과 이해를 공유하기 위해서다.
(이해에 오류가 있으면 지적해 주세요.)

함수와 대상 사이의 관계


함수는 실행 가능한 대상입니다
우선, 매우 중요한 개념으로서 자바스크립트에서 함수는 시종 대상이다
하지만 실행할 수 있는 것은 다른 대상과 다른 점이다.
이 외에도 일반 대상과 같은 행동을 취할 수 있다.

함수가 대상임을 증명하다


예를 들어, 다음 함수를 씁니다.
main.js
function a() {
    console.log('hello');
}

a.prop = 0;
a.method = function() {
    console.log('method');
}

a();
a.method();
console.log(a.prop);
↓Constore에서 본 실행 결과

함수에 속성과 방법을 추가하여 대상에 사용하면 위의 그림처럼 추가할 수 있습니다.
함수는 실행 가능한 대상일 뿐이라는 것을 알고 있습니다.

호출 함수는


"다른 함수에 매개 변수로 전달되는 함수"
main.js
function hello() {
    console.log('hello');
}

function fn(cb) {
    cb();
}

fn(hello); /*hello*/
↑ 코드에서
1. fn() 함수로서의 매개 변수.의 개체입니다.건네주다
2. hello 함수에서실행 가능한 객체실행 프로그램
이런 흐름.


매개 변수, 호출 함수의 보충으로
1. JavaScript의 함수는 선언할 때 설정된 임시 매개 변수와 호출할 때 실제 매개 변수의 수량이 일치하지 않습니다.
2. 호출 함수도 무명 함수로 정의할 수 있다.
main.js
function hello(name) {
    console.log('hello ' + name);
}

function bye() {
    console.log('bye');
}

function fn(cb) {
    cb('Tom');
}

fn(hello); /*hello Tom*/
fn(bye); /*bye*/
fn(function(name) {
    console.log('hello ' + name);
})
/*hello Tom*/
따라서 위의 코드처럼 쓸 수도 있다.

총결산


어때?
함수와 대상의 관계, 그리고 호출 함수는 자바스크립트에서 매우 중요하기 때문에 충분히 이해해야 한다!

좋은 웹페이지 즐겨찾기