인프런 커뮤니티 질문&답변

pym7857님의 프로필 이미지
pym7857

작성한 질문수

React로 NodeBird SNS 만들기

6-8. 이미지 업로드 프론트 구현하기

[].forEach.call 질문드립니다.

작성

·

1K

0

[].forEach.call(e.target.files, (f) => {
        imageFormData.append('image', f);     // AJAX를 위해서 FormData객체에 일일히 담아준다. (SPA 유지하기 위해)
                                              // append할때 정해준 'image'라는 변수는 서버에서도 쓰이게된다.
      });

오늘 처음 [].forEach.call 이라는 구문을 접하게 됐습니다.

제로초님 블로그 글을 찾아보니 유사배열에 대해 설명되어있는 글이 있어서 보고 공부해보았습니다.

글을 읽고 판단해본 결과 제 생각이 맞는지 알고싶어서 질문드립니다.

질문1) e.target.files가 '유사배열' 인듯 싶고..  유사배열의 원소들을 가져오기 위해서는

[].forEach.call(유사배열, (원소) => { ... } ) 이런식으로 가져오는게 맞는거죠 ? 

질문2) 

[].forEach.call 말고, Array.prototype.forEach.call로 가져와도 되는건가요 ? 안된다면 어떤이유 때문일까요 ? 

답변 2

1

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

1. 네 맞습니다.

2. 가능합니다. 저는 글자 수가 짧아서 전자를 사용함니다.

0

Array.prototype에서 제공하는 다른 함수들 (map, filter 등등) 도 같이 사용기능합니다.

예를들어

[].map.call([NodeList], e=>""+e); 
이런 식으로도 가능합니다.

pym7857님의 프로필 이미지
pym7857

작성한 질문수

질문하기