---
# System prepended metadata

title: Untitled
tags: [JSPrimer輪読会]

---

## 【第18回】JSPrimer輪読会

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

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

------

## 2023\-3\-2(木)

### 連絡事項や確認・相談
- 

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

### 読んだところ
- 文字列 ~文字列の検索~の前まで
### 次回
- 文字列 ~文字列の検索~から
### 自由に使う共有スペース

### 各自の疑問点や気づき、学んだこと
- @haruguchi
    - 文字列根源的すぎて質問が思い浮かばなかった
    - コンピュータは何でもかんでも1,0で管理してるので文字列も例外ではない
    -　文字コード理解したい
    -　JSはシングルクォーテーションとダブルクォーテーションの機能的な違いはない エスケープのしやすさくらい？
- dawa
        - Unicodeでは1文字を表すのに使う最小限のビットの組み合わせをCode Unit（符号単位）と言う。JSの場合はそのサイズが16ビットであるUTF-16が使われている。
        - 

- まっきー
    - code unit と code point があるという話。
    - aが65、みたいなエンコードはほかの言語でも見かけるので、覚えておきたい。
    - Rubyだと`'A'.ord`でcode unitを取得できること。
    - ES2015以降はUTF-16が標準であること。

- @fuwa
    - `substring` メソッドの引数指定がややこしいので`slice` メソッドを使った方が良いんじゃないかなぁと個人的には思いました
    - `JavaScriptの文字列の各要素はUTF-16のCode Unitで構成されている` という事実だけ覚えておこうと思います〜

- maimu
    - 「JavaScriptの文字列の各要素はUTF-16のCode Unitで構成されている」
        - 覚えた！！
- mohira
    - CodePointやCodeUnit、文字コードや文字集合の説明がちゃんとしているようなので困ったらJSPrimerをみるとよさそうという収穫！
    - JSは`'`と`"`の違いがないのは知らなかった。
    - 文字列の長さ、むずい → https://discord.com/channels/715806612824260640/1050016558124126268/1080803598289600542
        - 面倒なので`[...'💪'].length`とやっちゃいますね 
            - おー！ 
    - パーセントエンコーディングの実験 → https://discord.com/channels/715806612824260640/1050016558124126268/1080800027267571753
    - codeunitで表現すると楽しい → https://discord.com/channels/715806612824260640/1050016558124126268/1080797120124158002

### 本日の振り返り(よかった点・次回に向けての改善点・今の気分などなんでもOK)
- maimu
    - 初めましての方が参加してくださり、嬉しい！
    - 認証周りの勉強が必要だと感じる今日この頃。良い書籍あったら教えてください！
        - https://authya.booth.pm/items/1296585
- @fuwa
    - 自作サービスの最初のリリースがだいぶしょぼい感じになりそうで悲しいです〜
    - 明日は久しぶりに前職の軽音部に行ってきます〜輪読会おやすみします
        - :guitar::base::drum:
        - Let's enjoy!
- はるまき
    - このあと20時からwataさんと一緒にgood first issueのモブプロやるのでよかったら来てください〜！

- dawa
    - 今日は寒く、風も強かったです。春一番かと勝手に思ってました。

- haruguchi
    - 晩御飯みなさんどうやって決めてますか？
    - 2月でJSPrimer5回くらい読んだのでちょっと食傷気味です、、、
        - 輪読会はきてください👶🏻
        - 

- まっきー
    - 今日が初参加でしたが、自分でもなんとかついていけそうな内容だったので、明日以降も参加したいと思います！（JavaScriptのプラクティスはこれからですが・・・）
        - 👏👏👏

## 2023\-3\-3(金)

### 連絡事項や確認・相談
- 

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

### 読んだところ
- 文字列 ~[コラム] RegExp.prototype.execでのString.prototype.matchAll~ の前まで
### 次回
- 文字列 ~[コラム] RegExp.prototype.execでのString.prototype.matchAll~ から
### 自由に使う共有スペース

### 各自の疑問点や気づき、学んだこと
- maimu
    - 正規表現リテラルはロード時に評価され、RegExp関数は呼び出し時に評価される
    - `match`メソッドはなんとなくわかったけど、説明が難しい

- dawa
    - RegExpはreguler expression の略
    - 複数の箇所にマッチする場合はmatchメソッドにgフラグを付ける。正規表現のgフラグを使った繰り返しマッチを行う場合には、matchメソッドではなくmatchAllメソッドを利用する。

- @AntiSatori 
    - 正規表現の仕様って結構複雑に出来ているなと思った。
    - キャプチャが必要なバージョンと必要無いバージョンで違う関数にしようとかなかったんだろうか？他の言語だとどうなってるんだろう。

- まっきー
    - gフラグはとりあえず使っておけばよい感じ？gフラグありなしが出てくるところがよくわからなかった　↓理解できました！
        - gフラグは文字列の最後までマッチを繰り返すか決めるフラグです　gフラグがないと最初にマッチした文字列があった時点で処理が終了します
    - 使いこなせたらかなり便利そう。使いこなせたら・・・

### 本日の振り返り(よかった点・次回に向けての改善点・今の気分などなんでもOK)
- maimu
    - 自作サービスのフロントをReactかVueにするかで悩んでます

- @AntiSatori 
    - Web Audio API やっているけどAudioWorkletProcessorの仕様が結構面倒くさい
        - https://developer.mozilla.org/en-US/docs/Web/API/AudioWorkletProcessor
    - 正規表現が難しいならパーサーコンビネーターもいいかも
        - https://qiita.com/aiya000/items/82f432a4b19c60561c01

- dawa
    - 自作サービス案で会員登録したサイトの管理がしたいです。
- まっきー
    - 正規表現が全般的にわからなかった。。来週までに（動かしながら）復習します
    - 来週は読む側として参加したいです（家族が全員インフル感染でさすがに読めず・・）
        - ぜひ〜！
        - インフル流行ってますね！お大事にどうぞ。
