② (e) => { ... } の (e)
意味
eは「イベントオブジェクト」と呼ばれるものです。- この
eの中に、「ファイル選択に関する情報」が全部入っています。
🔵 たとえば → 選ばれたファイルリスト(e.target.files)もこの中にあります。
✅ 「e」はイベントオブジェクト
つまり、
- どんな種類のイベントが起きたか
- どの要素で起きたか
- そのときの詳しい情報 が全部入っている特別なオブジェクトです。
📦 ファイル選択時の「e」の中身(具体例)
たとえば、ファイルを選んだときの e の中にはこういうものが入っています:
| プロパティ | 意味 | 具体例 |
|---|---|---|
e.type | イベントの種類 | "change"(ファイルが変わった) |
e.target | イベントが発生した要素 | <input type="file" id="upload"> |
e.target.files | 選択されたファイルたち(リスト) | [ファイルオブジェクト] |
e.target.files.length | 選択されたファイルの数 | 1(1枚選んだ場合) |
e.target.files[0] | 選ばれた最初のファイル | 画像ファイル1個 |
e.target.files[0].name | ファイル名 | "myphoto.jpg" |
e.target.files[0].size | ファイルサイズ(バイト単位) | 142000(約142KB) |
e.target.files[0].type | ファイルの種類 | "image/jpeg" |
🖊 具体的な中身のイメージ(図にすると)
たとえば、画像ファイル "myphoto.jpg" を選んだ場合、e.target.files[0] はこんなデータを持っています:
{
name: "myphoto.jpg",
size: 142000,
type: "image/jpeg",
lastModified: 1685000000000,
...
}
つまり!
e.target.files[0].name→"myphoto.jpg"e.target.files[0].size→142000e.target.files[0].type→"image/jpeg"
みたいに細かくファイル情報を取得できるんです。
📖 この情報を使うと何ができるか?
例えば、こういうことができます:
- ファイル名を画面に表示する
→console.log(file.name); - ファイルサイズをチェックして、大きすぎたら警告する
→if (file.size > 5_000_000) { alert("5MB以上のファイルは選べません"); } - 画像ファイルだけ許可する(JPEG, PNG)
→if (!file.type.startsWith('image/')) { alert("画像ファイルを選んでください"); }
などなど、めちゃくちゃ応用が広がります!
🎯 まとめ
| 項目 | 内容 |
|---|---|
eとは? | イベントの情報を全部持っている特別なオブジェクト |
| 重要な情報 | e.target.files[0] → 選ばれたファイル1個分のデータ |
| できること | ファイル名・サイズ・タイプを取り出して、条件チェックや表示ができる |