2021 年。JavaScript (ECMAScript) は常に進化し続けているが、初学者含めて日本の JavaScript 使用者は何割ぐらいの人が ES2015+ を意識してコーディングしているのか気になったので調べてみる。
動機
変数は var
ではなく const
や let
を使った方がスコープを安心して使用できるし、関数は function App () {}
ではなく const App = () => {}
で良い。
分割代入やテンプレート文字列、スプレッド構文、map
なんかも便利だと思う。
どんどん使っていけばいいし、新しく学ぶ人は当然 ES2015+ で学んだほうが良いと思う。
でも、それを知らずに学び始める人、知らずに居続ける人もいるのかもしれない、とふと気になった。
調査方法
Qiita に投稿された記事から ES2015+ を意識してコーディングしている/意識せずにコーディングしている記事数(※)を Qiita の検索機能から抽出し、母数に対する割合を求める。
ES2015+ を意識しているか否かは、記事内のコードにおいて、変数宣言時に ES2015+ で最も基本的な要素といえる const
を使っているか否かを基準に判断する。(後述)
※ 記事数ではなく、そこからユーザ数を拾って調査した方が正確なのでそうしたかったが、時間の都合上で記事数とする。
調査対象
Qiita に投稿された記事の内、次の条件に合致するものを対象とする。
- 作成が 2020 年の 1 年間(
2020-01-01
以降2020-12-31
以前)の記事 - タグに
JavaScript
が含まれる記事
ES2015+ を意識してコーディングしているか/していないかの基準
記事中のコードに var
と const
のどちらを使用しているか。
- 母数:
var
またはconst
が含まれる - ES2015+ を意識してコーディングしている:
const
が含まれる - ES2015+ を意識せずコーディングしている:
var
が含まれる かつconst
が含まれない
調査結果
- 母数(
var
またはconst
が含まれる)- 5698 ( 4270 + 1428 ) 記事
- 検索: ES2015+ を意識してコーディングしている、意識せずコーディングしている記事の合計
- ES2015+ を意識してコーディングしている(
const
が含まれる)- 4270 記事 ... 全体の約 75 %
- 検索:
tag:JavaScript created:>=2020-01-01 created:<=2020-12-31 code:const
- ES2015+ を意識せずコーディングしている(
var
が含まれる かつconst
が含まれない)- 1428 記事 ... 全体の約 25 %
- 検索:
tag:JavaScript created:>=2020-01-01 created:<=2020-12-31 code:var -code:const
結論
調査結果から全体の約 25 % の記事は ES2015+ を意識せずコーディングしている記事と考えられる。
追伸
記事数ではなくユーザ割合をどなたか調査してみてほしいです。