콜백 함수는 함수다
✅ 콜백 함수로 어떤 객체의 메서드를 전달하더라도, 그 메서드는 메서드가 아닌 함수로 호출해요. var obj = { vals: [1, 2, 3], logValues: function(v, i) { console.log(this, v, i); } }; //method로써 호출 obj.logValues(1, 2); //callback => obj를 this로 하는 메서드를 그대로 전달한게 아니에요 //단지, obj.logValues가 가리키는 함수만 전달한거에요(obj 객체와는 연관이 없습니다) [4, 5, 6].forEach(obj.logValues);
call & apply & bind보다 편리한 방법은?_v3.11
var func = function (a, b, c, d) { console.log(this, a, b, c, d); }; var bindFunc = func.bind({ x:1 }, 4, 5); // func와 bindFunc의 name 프로퍼티의 차이를 살펴보세요! console.log(func.name); // func console.log(bindFunc.name); // bound func ✅ 생성자 내부에서 다른 생성자를 호출(공통된 내용의 반복 제거) Student, Employee 모두 Person입니다. name과 gender 속성 모두 필요하죠. 그러니 Student와 Employee 인스턴스를 만들 때 마다 세 가지 속성을 모두 각 생성자 함수에 넣기 보다는 Person이라는 생성자 ..