WebAPI

File

  • File 인터페이스는 파일에 대한 정보를 제공하고, 웹 페이지의 JavaScript가 해당 내용에 접근할 수 있게 합니다.

  • File 객체는 일반적으로 FileList 객체에서 회수할 수 있고, FileList 객체는 사용자가 <input> 요소에서 파일을 선택했을 때, 드래그 앤 드롭 작업의 DataTransfer 객체가, 또는 HTMLCanvasElement의 mozGetAsFile() API에서 반환합니다. Gecko에서 권한 있는 코드는 사용자 상호작용 없이 모든 로컬 파일을 나타내는 File 객체를 만들 수 있습니다. (자세한 정보는 구현 참고사항을 참고하세요)

  • File 객체는 특정 종류의 Blob이며, Blob을 사용할 수 있는 모든 맥락에서 사용할 수 있습니다. 특히 FileReader, URL.createObjectURL(), createImageBitmap(), XMLHttpRequest.send()는 Blob과 File을 모두 허용합니다.

    - Microsoft MDN -

Point

  1. File은 Web(Browser) 환경에서 제공하는 인터페이스이다. new File(params)또한 가능
  2. File은 Blob이라는 인터페이스와 호환 가능하다.

Blob

  • Blob 객체는 파일과 흡사한 불변 객체로 raw data입니다. 데이터를 표현하기 때문에 필연적으로 자바스크립트 네이티브 포맷이 아닙니다. File 인터페이스는 기본적으로 Blob을 통해 이뤄지며, blob의 함수들을 상속받고 확장하여 사용자 시스템의 파일을 지원해줍니다.

  • Blob을 생성하는 가장 쉬운 방법은 Blob() 생성자를 호출하는 것입니다. 다른 방법은 slice()메서드를 사용하여 다른 blob의 부분 데이터로 구성된 blob을 만드는 것입니다. 사용자의 파일 시스템에있는 파일에 대한 Blob 객체를 가져 오려면 File 설명서를 참조하십시오.

    - Microsoft MDN -

Point

  1. 자바스크립트 네이티브 포맷이아니다(nodejs에서 사용할 수 없다).
  2. Blob()으로 생성할 수 있다.

코드리뷰를 받으면서 느낀 점(신경써야할 부분)

  • 안쓰는 패키지 삭제.
  • 안쓰는 클래스 삭제.
  • 안쓰는 변수 삭제.
  • 변수 이름 예외없이 캐멀케이스(camelCase).