안녕하세요 클로저의 응용 수업 관련하여 질문 드립니다
클로저 강의를 듣고 저도 비슷한 고민을 했었기에 제가 이해했던 걸 적어드립니다. 3번째 줄의 i는 for문의 i를 받고 있는게 맞습니다. 강의를 보면 저 for문 작성 이후에 arr[0]~arr[4]를 출력을 하는데 모두 5가 나오죠? i값이 5이기 때문입니다. (i는 for문에서 5회 반복되었습니다.) 작성자님은 아마 for문을 보면서 arr[0] = function(){return 0;} arr[1] = function(){return 1;} arr[2] = function(){return 2;} arr[3] = function(){return 3;} arr[4] = function(){return 4;} 를 기대하셨을것 같은데 arr[0] = function(){return i;} arr[1] = function(){return i;} arr[2] = function(){return i;} arr[3] = function(){return i;} arr[4] = function(){return i;} 이렇게 이해하는게 맞는 것 같습니다. 왜 이렇게 되는지 생각해 봤는데 arr[i]처럼 배열 인덱스에서는 i가 가진 정수 값이 들어가고 return i; 일때는 i라는 변수 그 자체, 주소값이 리턴되어서 그런것 같습니다.