【完全保存版】2023年度Qiita月別人気記事ランキング【JavaScript】


今年人気になった記事一覧です。
Stockしたのに読んでない記事とか再発見してください。
特にまとめ記事を除外したり、作者の好き嫌いで弾いたりはしておりません。

<details>
<summary>成形用の参考コード</summary>

```ts
export const qiitaFileToPost = async (tag: string) => {
  const file = `${downloadsPath}/res_${tag}.json`;
  const data = JSON.parse((await readFileSync(file, 'utf8'))) as QiitaItem[];
  console.log(data.length);

  const result = [];
  // 12回ループ2023年ま
  for (let i = 1; i <= 12; i++) {
    const m = `0${i}`.slice(-2);
    const ym = `2023-${m}`;

    result.push(`## ${ym}\n`);
    const filterd = data.filter(d => d.created_at.startsWith(ym));
    console.log(ym, filterd.length);

    const orderedLike = filterd.sort((a, b) => b.likes_count - a.likes_count).slice(0, 3);
    const orderedStock = filterd.sort((a, b) => b.stocks_count - a.stocks_count).slice(0, 3);
    const orderedComment = filterd.sort((a, b) => b.comments_count - a.comments_count).slice(0, 3);

    // top3を抽出
    result.push(['Rank', 'Like', 'Stock', 'Comment'].join('|'))
    result.push([':---:', ':---:', ':---:', ':---:'].join('|'))
    for (let l = 0; l < 3; l++) {
      const rank = l + 1;
      const like = orderedLike[l]
      const likeOutput = `(${like?.likes_count}) [${like?.title}](${like?.url})${like.tags.map(t => t.name).join(', ')}}`;
      const stock = `(${orderedStock[l]?.stocks_count})[${orderedStock[l]?.title}](${orderedStock[l]?.url})`;
      const comment = `(${orderedComment[l]?.comments_count})[${orderedComment[l]?.title}](${orderedComment[l]?.url})`;
      result.push([rank, likeOutput, stock, comment].join('|'));
    }
    result.push("\n");

    await writeFileSync(`${downloadsPath}/${tag.toLocaleLowerCase()}.md`, result.join("\n"));
  }
}
```
</details>



## year

Rank|Like|Stock|Comment
:---:|:---:|:---:|:---:
1|(809) [悪名高きスワイプ広告を解析する](https://qiita.com/huzisuke/items/cdc63b4bf9d2ded5b5ca)|(877)[【永久保存版】0からReactを勉強するならこのロードマップに従え！](https://qiita.com/Sicut_study/items/78910cd8d103b8d45a73)|(20)[危険な文字](https://qiita.com/7mpy/items/87c6b2d620ab54c03803)
2|(655) [【永久保存版】0からReactを勉強するならこのロードマップに従え！](https://qiita.com/Sicut_study/items/78910cd8d103b8d45a73)|(651)[【2023年版】ブックマークすべきGitHubリポジトリまとめ](https://qiita.com/KNR109/items/b5dadd056da9b227041b)|(19)[ITエンジニアなのにまだ投資やってないの？ChatGPTでクオンツシステム作って儲けようぜpart3](https://qiita.com/kazukichi/items/281a86a1d53117b2a583)
3|(487) [2023年度版フロントエンド開発環境構築徹底解説](https://qiita.com/kjm_nuco/items/1b97cb3d9f43c5828adf)|(562)[2023年最新版の有名企業のエンジニア向け研修資料をまとめてみた](https://qiita.com/eri_issue/items/576acaea7e8235f82d89)|(18)[「なんで、for文ってforなの？」って、みんな思ったはず。](https://qiita.com/jin237/items/444688df1b6bfad3bd75)
4|(471) [ITエンジニアなのにまだ投資やってないの？ChatGPTでクオンツシステム作って儲けようぜpart3](https://qiita.com/kazukichi/items/281a86a1d53117b2a583)|(534)[フルスタックプログラマーの卵どもにおくる、独学チートシート](https://qiita.com/monsoonTropicalBird/items/572e1d02e63cff7a0462)|(18)[英語が話せてプログラムも書けるようになったのでより就職が難しくなった件について](https://qiita.com/monsoonTropicalBird/items/36129c49cb3d0aa39c49)
5|(432) [フルスタックプログラマーの卵どもにおくる、独学チートシート](https://qiita.com/monsoonTropicalBird/items/572e1d02e63cff7a0462)|(520)[2023年度版フロントエンド開発環境構築徹底解説](https://qiita.com/kjm_nuco/items/1b97cb3d9f43c5828adf)|(16)[JavaとJavaScriptが違うことをビジネスサイドに伝える例](https://qiita.com/nakamoto/items/c0dc1cc51284755fca70)




## 2023-01

Rank|Like|Stock|Comment
:---:|:---:|:---:|:---:
1|(343)[JavaScript / TypeScript の豆知識 10 選](https://qiita.com/hari64/items/47568790dc92100e4e77)|(341)[JavaScript / TypeScript の豆知識 10 選](https://qiita.com/hari64/items/47568790dc92100e4e77)|(12)[【JavaScript】紆余曲折の末、『最も直感的に文字列に改行を入れる方法』にたどり着いた話](https://qiita.com/Ryo-Nakano/items/1689f2bdca999a96dc74)
2|(213)[【React】フォームは状態管理せずに実装できるよ](https://qiita.com/nuko-suke/items/1393995fd53ecaeb1cbc)|(169)[【React】フォームは状態管理せずに実装できるよ](https://qiita.com/nuko-suke/items/1393995fd53ecaeb1cbc)|(8)[JavaScriptで平仮名(ひらがな)を判定する](https://qiita.com/thzking/items/f07633e0ee9145a85ace)
3|(148)[【JavaScript】ES2023の新機能](https://qiita.com/rana_kualu/items/84f66fe970f7feccf367)|(98)[【フロントエンド】駆け出しエンジニアが目指すジュニアレベルのエンジニアとは【2023年版】](https://qiita.com/mamimami0709/items/c9657367a8e7dfdca070)|(7)[【React】フォームは状態管理せずに実装できるよ](https://qiita.com/nuko-suke/items/1393995fd53ecaeb1cbc)


## 2023-02

Rank|Like|Stock|Comment
:---:|:---:|:---:|:---:
1|(377)[ フロントエンドテストにおける知見の宝庫を発見！「javascript-testing-best-practices」](https://qiita.com/taisei-13046/items/662a289dc7328fb64836)|(352)[ フロントエンドテストにおける知見の宝庫を発見！「javascript-testing-best-practices」](https://qiita.com/taisei-13046/items/662a289dc7328fb64836)|(7)[長年break文を使い続けたプログラマーが、break文の無いElixirを学んで、遅延評価にたどり着いた話](https://qiita.com/GeekMasahiro/items/260b823e8defa42ccc15)
2|(193)[console.logだけではないconsoleの使い方](https://qiita.com/asameshiCode/items/6fd893cf99647d13654c)|(190)[『リーダブルコード』を実践的に活用するための問題集[Javascript](第1部 表面上の改善)](https://qiita.com/kyok01_japan/items/cc6df24164bc291677bd)|(7)[TypeScriptで戻り値がvoid型の関数を扱う場合の注意点](https://qiita.com/nekonado/items/4f08116000e5b316c846)
3|(151)[『リーダブルコード』を実践的に活用するための問題集[Javascript](第1部 表面上の改善)](https://qiita.com/kyok01_japan/items/cc6df24164bc291677bd)|(155)[console.logだけではないconsoleの使い方](https://qiita.com/asameshiCode/items/6fd893cf99647d13654c)|(6)[null + null = 0 になるんだけど in JavaScript](https://qiita.com/styu214/items/5529a5559b978270a997)


## 2023-03

Rank|Like|Stock|Comment
:---:|:---:|:---:|:---:
1|(255)[【コード品質】綺麗なReactコード 応用７例](https://qiita.com/JNJDUNK/items/4ac302482be451153bd9)|(230)[【コード品質】綺麗なReactコード 応用７例](https://qiita.com/JNJDUNK/items/4ac302482be451153bd9)|(14)[ViteとDockerにてシンプルなHTML(EJS)/CSS(Sass)/JSコーディング環境を構築する方法](https://qiita.com/soundweaver/items/78bd6a62263c397f43f5)
2|(168)[最低限の知識で簡単なWebアプリを作る（生JavaScript vs React&TypeScript、やりたいこと別サンプル集）](https://qiita.com/birdwatcher/items/db81e4ef637d29d7d193)|(198)[最低限の知識で簡単なWebアプリを作る（生JavaScript vs React&TypeScript、やりたいこと別サンプル集）](https://qiita.com/birdwatcher/items/db81e4ef637d29d7d193)|(8)[小道具：英数の別文字コードへの変換（テキストデータなのにボールドとかイタリックとかスクリプト体とか…）](https://qiita.com/ikiuo/items/4359dd27149253cf577b)
3|(155)[Webの次世代アーキテクチャ - PESPA](https://qiita.com/takagimeow/items/ac814c1e5b5d9e8a76e1)|(155)[Webの次世代アーキテクチャ - PESPA](https://qiita.com/takagimeow/items/ac814c1e5b5d9e8a76e1)|(6)[[CPS変換]継続ってパイプライン的な何かだなと思ったらなんかわかってきた](https://qiita.com/ttatsf/items/65fb3187766306275cf9)


## 2023-04

Rank|Like|Stock|Comment
:---:|:---:|:---:|:---:
1|(295)[オブジェクトのクローンにJSON化を使う時代は終わった！【JavaScript】](https://qiita.com/silane1001/items/ae2e491abd64c01c7f3e)|(222)[オブジェクトのクローンにJSON化を使う時代は終わった！【JavaScript】](https://qiita.com/silane1001/items/ae2e491abd64c01c7f3e)|(10)[オブジェクトのクローンにJSON化を使う時代は終わった！【JavaScript】](https://qiita.com/silane1001/items/ae2e491abd64c01c7f3e)
2|(117)[【全人類へ】お前らはスペルミスが多すぎるッッ！！絶対に入れて欲しい拡張機能！【VisualStudioCode】](https://qiita.com/f0lst/items/400b01e430d06f0be690)|(101)[【GPT】アーキテクチャが参考になるアプリケーションまとめ](https://qiita.com/sonesuke/items/03c979177adccb7758f2)|(10)[[ChatGPT]2次元キャラと会話したかったので会話アプリを自作してみた](https://qiita.com/daifukusan/items/de74f272e71dd87f853c)
3|(109)[【GPT】今日から使えるOSSライブラリまとめ](https://qiita.com/sonesuke/items/56a6e4b6532eafa104f4)|(84)[【GPT】今日から使えるOSSライブラリまとめ](https://qiita.com/sonesuke/items/56a6e4b6532eafa104f4)|(5)[【Javascript】JSフレームワーク等を学ぶなら覚えておきたいコト](https://qiita.com/kmmch/items/8a0f71252bc906154783)


## 2023-05

Rank|Like|Stock|Comment
:---:|:---:|:---:|:---:
1|(276)[すぐに使える！Reactテンプレート15選](https://qiita.com/midiambear/items/76cf71142dd5abbec181)|(295)[すぐに使える！Reactテンプレート15選](https://qiita.com/midiambear/items/76cf71142dd5abbec181)|(20)[危険な文字](https://qiita.com/7mpy/items/87c6b2d620ab54c03803)
2|(95)[【react-hydration-error】Text content does not match server-rendered HTMLを解決するときの話](https://qiita.com/ryota_seto/items/efc0831a4dc005850344)|(98)[JavaScriptのthisに沼って仕様書にまで沈んだ話](https://qiita.com/TechForGood/items/eaecf0f1f44a4124320b)|(7)[レガシーなcallbackをasync/awaitで書き直す](https://qiita.com/Esperna/items/2e37fce54cf2c5b8085f)
3|(92)[危険な文字](https://qiita.com/7mpy/items/87c6b2d620ab54c03803)|(85)[【react-hydration-error】Text content does not match server-rendered HTMLを解決するときの話](https://qiita.com/ryota_seto/items/efc0831a4dc005850344)|(6)[【React】setCount(count + 1)みたいな書き方が良くないよーってお話](https://qiita.com/kim_t0814/items/c5f99d2e5e84fb93a7cd)


## 2023-06

Rank|Like|Stock|Comment
:---:|:---:|:---:|:---:
1|(327)[jQueryへの別れ：現代的な開発のための必須JavaScriptメソッド](https://qiita.com/figueiredoluiz/items/0e51c1aec790f053fd9c)|(400)[jQueryへの別れ：現代的な開発のための必須JavaScriptメソッド](https://qiita.com/figueiredoluiz/items/0e51c1aec790f053fd9c)|(14)[【TypeScript/JavaScript】配列操作reduce()を救いたい。](https://qiita.com/rokumura7/items/cdfc92dba508bbfb6127)
2|(226)[【TypeScript】超実践的テクニック集【Reactなし】](https://qiita.com/ment_RE/items/9387b47dbef6433f6637)|(236)[【TypeScript】超実践的テクニック集【Reactなし】](https://qiita.com/ment_RE/items/9387b47dbef6433f6637)|(11)[「もう1年以上JavaScript書いてるのに、どっちがshiftなのか覚えられないんだけど？！」](https://qiita.com/nekonado/items/7c47e15eafc94349b095)
3|(155)[React 2023 最新 おすすめ 教材 と検索して疲弊しているあなたもしくはサーバーサイドエンジニアの方へ](https://qiita.com/yuppe-namura/items/f75b81dc333f4869a3b9)|(165)[React 2023 最新 おすすめ 教材 と検索して疲弊しているあなたもしくはサーバーサイドエンジニアの方へ](https://qiita.com/yuppe-namura/items/f75b81dc333f4869a3b9)|(8)[jQueryへの別れ：現代的な開発のための必須JavaScriptメソッド](https://qiita.com/figueiredoluiz/items/0e51c1aec790f053fd9c)


## 2023-07

Rank|Like|Stock|Comment
:---:|:---:|:---:|:---:
1|(471)[ITエンジニアなのにまだ投資やってないの？ChatGPTでクオンツシステム作って儲けようぜpart3](https://qiita.com/kazukichi/items/281a86a1d53117b2a583)|(562)[2023年最新版の有名企業のエンジニア向け研修資料をまとめてみた](https://qiita.com/eri_issue/items/576acaea7e8235f82d89)|(19)[ITエンジニアなのにまだ投資やってないの？ChatGPTでクオンツシステム作って儲けようぜpart3](https://qiita.com/kazukichi/items/281a86a1d53117b2a583)
2|(398)[2023年最新版の有名企業のエンジニア向け研修資料をまとめてみた](https://qiita.com/eri_issue/items/576acaea7e8235f82d89)|(474)[ITエンジニアなのにまだ投資やってないの？ChatGPTでクオンツシステム作って儲けようぜpart3](https://qiita.com/kazukichi/items/281a86a1d53117b2a583)|(10)[【周りに流されるな！😱】人気なReactよりも初心者にVueがおすすめな理由 4選 🐳](https://qiita.com/kouphasi/items/bad24618a84d753da6cd)
3|(237)[ITエンジニアなのにまだ投資やってないの？ChatGPTでクオンツシステム作って儲けようぜ](https://qiita.com/kazukichi/items/fa6433c3d0115c2b627b)|(305)[ITエンジニアなのにまだ投資やってないの？ChatGPTでクオンツシステム作って儲けようぜ](https://qiita.com/kazukichi/items/fa6433c3d0115c2b627b)|(8)[Amazonの商品ページのURLを短くしてコピーしたいときに使うブックマークレット](https://qiita.com/notakaos/items/d3058242c221882c303b)


## 2023-08

Rank|Like|Stock|Comment
:---:|:---:|:---:|:---:
1|(809)[悪名高きスワイプ広告を解析する](https://qiita.com/huzisuke/items/cdc63b4bf9d2ded5b5ca)|(248)[悪名高きスワイプ広告を解析する](https://qiita.com/huzisuke/items/cdc63b4bf9d2ded5b5ca)|(18)[「なんで、for文ってforなの？」って、みんな思ったはず。](https://qiita.com/jin237/items/444688df1b6bfad3bd75)
2|(432)[「なんで、for文ってforなの？」って、みんな思ったはず。](https://qiita.com/jin237/items/444688df1b6bfad3bd75)|(166)[「なんで、for文ってforなの？」って、みんな思ったはず。](https://qiita.com/jin237/items/444688df1b6bfad3bd75)|(9)[悪名高きスワイプ広告を解析する](https://qiita.com/huzisuke/items/cdc63b4bf9d2ded5b5ca)
3|(189)[Vue3をアゲアゲ↑↑する記事](https://qiita.com/KentaYokoyama/items/9a4f8b0a3230708a1987)|(149)[【むっず】Reactコードで理解する「結合度」](https://qiita.com/f0lst/items/1857b8ac3c70a17d764c)|(6)[主要言語で任意精度演算](https://qiita.com/Stosstruppe/items/c33795ab0887b224650a)


## 2023-09

Rank|Like|Stock|Comment
:---:|:---:|:---:|:---:
1|(219)[【Qiita】糞コードは直すな！ぶっ壊せ！](https://qiita.com/mogamoga1337/items/0add694958159b310e27)|(206)[VSCode の新機能「built-in port forwarding」を使いローカルサーバーにインターネット側からアクセス](https://qiita.com/youtoy/items/56e48c84d6a2f0549155)|(13)[Qiitaで自作の素因数分解プログラムを公開したら添削されて30倍速くなった件(2)](https://qiita.com/TETSURO1999/items/28ca00f958628423d64f)
2|(204)[VSCode の新機能「built-in port forwarding」を使いローカルサーバーにインターネット側からアクセス](https://qiita.com/youtoy/items/56e48c84d6a2f0549155)|(91)[【Qiita】糞コードは直すな！ぶっ壊せ！](https://qiita.com/mogamoga1337/items/0add694958159b310e27)|(5)[JSでブラウザの戻るボタンを止める方法。](https://qiita.com/bharteesahare1998/items/e16195f6e975c72238b3)
3|(75)[React Server ComponentsとApp Routerをそろそろちゃんと理解したい](https://qiita.com/newbee1939/items/7ce919f9a1a7153582b8)|(87)[ITエンジニアなのにまだ投資やってないの？ChatGPTでクオンツシステム作って儲けようぜpart4](https://qiita.com/kazukichi/items/7e2ea85dbe69684e287c)|(5)[Javascriptのコーディングでハマったところ](https://qiita.com/Yarnaguchi/items/67d8075f78e1904d5ad3)


## 2023-10

Rank|Like|Stock|Comment
:---:|:---:|:---:|:---:
1|(655)[【永久保存版】0からReactを勉強するならこのロードマップに従え！](https://qiita.com/Sicut_study/items/78910cd8d103b8d45a73)|(877)[【永久保存版】0からReactを勉強するならこのロードマップに従え！](https://qiita.com/Sicut_study/items/78910cd8d103b8d45a73)|(18)[英語が話せてプログラムも書けるようになったのでより就職が難しくなった件について](https://qiita.com/monsoonTropicalBird/items/36129c49cb3d0aa39c49)
2|(432)[フルスタックプログラマーの卵どもにおくる、独学チートシート](https://qiita.com/monsoonTropicalBird/items/572e1d02e63cff7a0462)|(534)[フルスタックプログラマーの卵どもにおくる、独学チートシート](https://qiita.com/monsoonTropicalBird/items/572e1d02e63cff7a0462)|(6)[0 だけ末尾になるように並べ替える](https://qiita.com/yuinore/items/2c5507ec52719b31ab41)
3|(413)[console.log() の代わりにdevtoolsのLogpointsを使う](https://qiita.com/Tsuyoshi84/items/e398ac4449a36286c0d7)|(338)[console.log() の代わりにdevtoolsのLogpointsを使う](https://qiita.com/Tsuyoshi84/items/e398ac4449a36286c0d7)|(6)[キー入力でアルファベットやコントロールキーが効かなくなった原因はこれだった](https://qiita.com/tecoyan/items/a20a2cf4f924b1921c58)


## 2023-11

Rank|Like|Stock|Comment
:---:|:---:|:---:|:---:
1|(274)[フルスタックプログラマーの卵どもにおくる、独学チートシート : 2](https://qiita.com/monsoonTropicalBird/items/88424c54734b0aeb317d)|(399)[フルスタックプログラマーの卵どもにおくる、独学チートシート : 2](https://qiita.com/monsoonTropicalBird/items/88424c54734b0aeb317d)|(16)[JavaとJavaScriptが違うことをビジネスサイドに伝える例](https://qiita.com/nakamoto/items/c0dc1cc51284755fca70)
2|(197)[あなたの作った画像アップローダー、投稿者の個人情報ダダ洩れだよ！](https://qiita.com/laineus/items/7a682f9d4d1bd36643f9)|(108)[あなたの作った画像アップローダー、投稿者の個人情報ダダ洩れだよ！](https://qiita.com/laineus/items/7a682f9d4d1bd36643f9)|(12)[いろんな言語比較してみた](https://qiita.com/neras_1215/items/dc26a6539e7d7f1b5991)
3|(118)[ついに JavaScript に groupBy が実装されたぞ！！！](https://qiita.com/silane1001/items/5f2a4f06e964e7443433)|(84)[Google Apps ScriptでGPTsのCustom ActionsのAPIを作ってみた](https://qiita.com/iconss/items/3db0761bb4cfe1422a6e)|(6)[paizaのスキルチェック(JavaScript)でよく使う技](https://qiita.com/makoto-developer/items/36f9cfb1be2101d72bf9)


## 2023-12

Rank|Like|Stock|Comment
:---:|:---:|:---:|:---:
1|(487)[2023年度版フロントエンド開発環境構築徹底解説](https://qiita.com/kjm_nuco/items/1b97cb3d9f43c5828adf)|(651)[【2023年版】ブックマークすべきGitHubリポジトリまとめ](https://qiita.com/KNR109/items/b5dadd056da9b227041b)|(6)[JSで日付扱うならmoment](https://qiita.com/YutaManaka/items/3b99b4812252005ad703)
2|(431)[【2023年版】ブックマークすべきGitHubリポジトリまとめ](https://qiita.com/KNR109/items/b5dadd056da9b227041b)|(520)[2023年度版フロントエンド開発環境構築徹底解説](https://qiita.com/kjm_nuco/items/1b97cb3d9f43c5828adf)|(6)[querySelectorで取得している値について調べてみた](https://qiita.com/sairrr_/items/1b50796266087c8f18c9)
3|(362)[【エンジニア向け】生産性を上げるチートシートまとめ](https://qiita.com/KNR109/items/0b59c841a7efa567f952)|(455)[【エンジニア向け】生産性を上げるチートシートまとめ](https://qiita.com/KNR109/items/0b59c841a7efa567f952)|(6)[JqueryでRedmineの「活動ページ」をもっと便利に②(フィルタリング機能と移動機能)](https://qiita.com/yam_asaki/items/2428610fd89bc73ce0ab)