bunty's blog

ググったこととか勉強したことのメモ

JavaScript

JS で関数型っぽく書きたいときは、スプレッド構文を使用して配列に値の追加や連結を行う

React の勉強中にここもよく出てくるのでまとめ。 まず前提として、関数型っぽく書こうとする場合には、破壊的な関数は使用せずに非破壊的な関数を使用すると良い。 qiita.com qiita.com 例えば特定の要素を削除する場合には、なるべく filter を使用する。 …

JS のデストラクチャリング

よくあるこんな感じのコード、これ自体はよく使うんだけども他にも色々と使ってない使い方があったのでまとめ。 const { data } = await axios.get('/some_api') 関数の引数でも使用可能 object を引数に渡す場合で特定の key しか 特定の key しか使わない…

JS のアロー演算子でオブジェクトを返す場合は括弧で囲む

最近 React の勉強を始めて、いくつかアロー演算子の理解が浅いところがあったので復習。 今までアロー演算子でオブジェクトを返す場合に、こんな感じで時で書いていた。 const hoge = arg => { return { a: arg } } console.log(hoge('a')) // { a: 'a' } …

Jest で audio をモックする

composition api の勉強がてら色々とコードを書いていて、Jest でテストを書く際にうまく mock できないことがあった。 そもそも Jest 自体詳しくないのでやってることがおかしいかもしれないが、こんな感じのコードを書いてエラーになった。 // sound 自体…

JS で UTF8 を SJIS に変換する

csv のダウンロードをする際に、文字コードの変換をしたくて下記のライブラリを使用しました。 github.com 日本語の Readme はこちら。 github.com yarn で install をして、Github に記載されているサンプルコードをベースに問題なく動きました。 変換した…

JS で配列からランダムな値を取得する

適当な配列の中からランダムで値を取得したかったため、0 ~ 2 の間でランダムな数値を取得したかった。 Math.rondom() に min と max を引数で渡せるのかと思ったけど、引数では渡せないとのこと。 const list = ['a', 'b', 'c'] // これに引数渡せるかと思…

JS の正規表現の [] 内の . はエスケープしなくて良い

JS の `.match` を使う際に知ったのですが、[] の中の . はエスケープをしなくて良いそうです。 こちらを参考にさせてもらいました。 techracho.bpsinc.jp 念の為こちらで動作の確認をしてみたところ想定どおり不要でした。 > ".".match(/[.]/) [ '.', index…