return으로 인한 할당에 관련하여 질문드립니다.
202
작성한 질문수 22
6:36
익명 함수를 정의 하고 반환한다는 것 까지는 이해가 가는데
반환된 익명함수가 변수 count에 할당된 다는 것이 이해가 잘 가지 않습니다.
return function 이라는 것을 setCounter 함수로 받아들여야 하나요?? return이 나오니 갑자기 헷갈리는 것 같습니다 ㅠ
답변 1
2
함수란 무언가를 실행하고, 어떤 결과를 '값으로써' 반환하는 것입니다. 예를 들어,
function sum (a, b) { return a + b }
var c = sum(1, 2);
console.log(c); // 3
이 경우 c라는 변수에는 sum(1, 2)를 실행하고, sum에서 반환해준 결과값이 담기게 됩니다.
sum이라는 함수는 두 매개변수를 합한 값인 3을 반환하니까, c에 3이 담기게 되는 것이죠.
함수는 일급객체로, 그 자체가 하나의 값으로 취급될 수 있습니다.
따라서 다른 함수에 의해 '반환(return)'될 수도 있는 것이죠.
어떤 함수 a를 실행한 결과로 함수 b를 반환하면, 그 반환된 함수 b를 다른 변수 c에 담았을 때,
이제는 c를 실행할 수 있게 되는 것입니다.
var a = function () {
var b = function () { return 1; }
return b;
}
var c = a(); // a의 실행의 결과로 b 함수가 c에 담깁니다.
var d = c(); // c의 실행의 결과로 1이 d에 담깁니다.
console.log(d); // 1
영상의 예제의 경우
setCounter 함수를 실행하고 반환된 값이
function() { return ++count; }
라는 익명함수 그 자체입니다.
이 익명함수 자체가 count라는 변수에 담기게 되는 것입니다.
인스턴스에서 prototype 프로퍼티에 직접 접근해야하는 이유
0
59
1
setTimeout 에서 this
0
81
1
2강부터 영상이 나오지 않습니다.
0
175
1
자바스크립트 주석에 이상한 점이 있어서 문의드립니다.
0
219
2
return 문 안에 여러 함수가 존재하는 것이 이해되지 않습니다.
1
259
1
클래스 static 멤버
1
253
1
실행컨텍스트와 스택프레임
2
567
1
프로토타입으로 상속할때 브릿지 사용 이유
0
320
1
호이스팅 관련 질문
1
335
1
책 66p. 예제 3-2 질문입니다.
0
356
1
강의 내용 10:58 캡슐화 질문입니다.
1
398
1
강의 내용 5:10 질문입니다.
1
422
2
전역 공간에서의 this
0
426
2
18:31 addEventListener의 this
1
480
1
outerEnvironmentReference 질문
1
372
1
실행 컨텍스트와 클로저에 대해 질문드립니다.
1
448
1
Object.prototype.constructor의 [[prototype]] ?
1
658
1
함수를 값으로 할당할 때
2
457
1
15:54 'ddd' 사라지는 오류?
4
375
1
프로토타입 getPrototypeOf(instance).constructor(n,a) 질문입니다.
1
404
1
기본형/가변형 질문입니당
0
333
0
선생님 그러면 섹션 0만 봐도 무방한가요!?
0
336
1
Hoisting과 environmentRecord에 관한 질문입니다.
1
292
1
안녕하세요, 데이터 변경 질문입니다.
0
329
1





