---
# System prepended metadata

title: Untitled
tags: [JSPrimer輪読会]

---

## 【第38回】JSPrimer輪読会

###### tags: `JSPrimer輪読会`

- [開催概要](https://hackmd.io/OsL28Q9fS7Wa2alu3gkoaw)
- [JSPrimer輪読会 ノートまとめ](https://hackmd.io/@NRLooQz8RrqbPmaSYWZceg/r1S4p-5Ds)

------

## 2023\-6\-30(金)

### 連絡事項や確認・相談
- 来週の木曜日もお休みになります🙇🏻‍♀️

### タイムキーパー
-  maimu

### 読んだところ
- Map/Set の前まで
### 次回
- Map／Set から
### 自由に使う共有スペース

### 各自の疑問点や気づき、学んだこと
- まっきー
    - awaitに出会ったらそれ以降の処理はぜんぶケツに回される！
    - ということはDBから非同期で取ってきたデータも後ろに回るということか〜
    - 即時実行関数式、名前は仰々しいけど昔どこかで見たことあるやつだった→今はmodule直下のawaitで代用できる

- haruguhci
    - 非同期処理のモチベーション
    - JSはシングルスレッドなので1つのことしかできない。
    - 重い処理(や、いつくるかわからない処理)がきた場合、スレッドを占有してしまう(ブロッキング)
    - これで困るのはユーザーがボタン押せなくなったりカーソルが反応しなくなったりする
    - 重い処理はどこかに移譲して終わったら教えてもらいたい、その間に他のことする(ここがawaitしてる間に関数の外にでて他のことしてるところ！！)
    - ここら辺を理解してるとなんでそんな動きするんだーってことがあっても6,7割は理解できる気がする。

- moegi
    - 非同期処理は重い処理を待つもの
    - PromisebaseのAPIが提供されたのは最近
    - ブラウザが持ってるAPI、JavaScriptが持ってるAPIはちがう

- maimu
    - `await` は`async` 関数直下で実行されるため、`forEach`などスコープが異なるとエラーになってしまう
    - `forEach`で`async/await`を実行すると`await`で待っている間はその外側のスコープの処理が走るため、意図した結果を得られない場合がある
        - `for`文を使ったり別のやり方を考えた方がいい
    - ES2022ではmoduleの直下での`await`が使えるようになった
    - Promiseが仕様に入るまではエラーファーストコールバックというルールで例外が発生した際のケアをしていた
        - 今書くことはないけど、出会うことはある

-

### 本日の振り返り(よかった点・次回に向けての改善点・今の気分などなんでもOK)
- まっきー
    - 古いシステム（Node.js14×Vue.js2.6）はいじりたくない・・・社内の情通が制限かけてるのかネット記事で見たやり方が通用しないことがままあります😭2系のPythonとか入れたくないーー

- haruguchi
    - JS難しいよ、、、
    - 仕事で書かないからJS忘れる
    - EcmaScript2023承認されましたね！！！
        - ！！！また学ばないと💨

- maimu
    - 6月が今日で終わるのが衝撃・・・
    - 微妙に夏バテの気配を感じています😇
    - 7月はTypeScriptとReactを頑張ります！

- moegi
    - JavaScriptむずかしい
    - 
-