メインコンテンツにスキップ

使用状況

どのようにJavaScriptを使用していますか?

JavaScriptとTypeScriptのバランス

We're now firmly in the TypeScript era. 67% of respondents stated they write more TypeScript than JavaScript code – while the single largest group consisted of people who only write TypeScript.

どのくらいの割合でJavaScriptとTypeScriptを書いていますか?
0%
20%
40%
60%
80%
100%
1

100% JS

915
2

|

559
3

|

446
4

|

185
5

50/50

625
6

|

352
7

|

1,245
8

|

3,172
9

100% TS

3,936
0%
20%
40%
60%
80%
100%
回答数に占める割合(%)

Compiled Code Balance

It should come as no surprise that in 2024, almost all of our JavaScript code goes through a build step. While bundlers and build tools certainly add complexity to our development process, they are most likely here to stay.

What proportion of the JavaScript code you write for the browser goes through a build step?
0%
20%
40%
60%
80%
100%
1

0% Compiled

262
2

|

185
3

|

192
4

|

118
5

50%

629
6

|

233
7

|

1,020
8

|

2,449
9

100% Compiled

5,927
0%
20%
40%
60%
80%
100%
回答数に占める割合(%)

AI Code Generation

For all the talk of AI-assisted coding, most of us still only use AI tools sparingly. And in fact, a whole 20% do not use them whatsoever to produce code.

What proportion of the code you produce is AI-generated?
0%
20%
40%
60%
80%
100%
1

0% AI

2,263
2

|

4,319
3

|

2,573
4

|

837
5

50%

751
6

|

285
7

|

270
8

|

55
9

100% AI

18
0%
20%
40%
60%
80%
100%
回答数に占める割合(%)

JavaScriptの使用状況

It's always good to know in what context respondents are writing JavaScript code, and the vast majority are using it as part of their day job.

主にどのようなコンテキストでJavaScriptを使っていますか?
Multiple
0%
20%
40%
60%
80%
100%
1

プロフェッショナルとして

10,842
2

趣味として

4,593
3

学生として

1,143
0%
20%
40%
60%
80%
100%
回答数に占める割合(%)

JavaScriptの使用状況

Virtually every respondent stated that they use JavaScript for frontend development, which makes sense given the language's origins.

どのような目的でJavaScriptを使っていますか?
Multiple
0%
20%
40%
60%
80%
100%
1

フロントエンド開発

11,268
2

バックエンド開発

7,345
3

モバイルアプリ開発

2,994
4

デスクトップアプリ開発

2,072
5

データ可視化

1,653
6

グラフィックス&アニメーション

1,302
7

データ分析

854
8

ゲーム開発

651
9

機械学習

263
10

組み込みアプリ開発

258
0%
20%
40%
60%
80%
100%
回答数に占める割合(%)

While the largest industry sector consisted of developers building tools for other developers, the highest-paying one turned out to be Advertising.

どの業界で働いていますか?
Multiple
0%
20%
40%
60%
80%
100%
1

プログラミング・技術ツール

4,299
2

コンサルティング・サービス業

3,555
3

Eコマース・小売

2,668
4

金融

1,796
5

マーケティング・営業・アナリティクス

1,558
6

教育

1,494
7

エンターテインメント

1,256
8

医療

1,035
9

ニュース・メディア・ブログ

939
10

政府系

836
0%
20%
40%
60%
80%
100%
回答数に占める割合(%)

アプリケーションパターン

Despite modern JavaScript meta-frameworks now supporting intricate rendering strategies, the most common application patterns remained the most traditional ones: single-page apps and server-side rendering.

過去1年間で、どのアーキテクチャやレンダリングパターンを使用しましたか?
Multiple
0%
20%
40%
60%
80%
100%
1

シングルページアプリケーション(SPA)

10,027
2

サーバーサイドレンダリング(SSR)

6,559
3

静的サイト生成(SSG)

5,072
4

マルチページアプリケーション(MPA)

4,399
5

部分的なハイドレーション(Partial Hydration)

2,320
6

アイランドアーキテクチャ(Islands Architecture)

1,573
7

プログレッシブエンハンスメント(Progressive Enhancement)

1,480
8

インクリメンタル静的生成(Incremental Static Generation)

1,053
9

ストリーミングサーバサイドレンダリング(Streaming SSR)

956
10

パーシャルプリレンダリング(Partial Prerendering)

906
0%
20%
40%
60%
80%
100%
回答数に占める割合(%)

JavaScriptのつらいところ

Code architecture is always a concern once a codebase gets past a certain size, so it makes sense that it topped the rankings of overall JavaScript pain points, followed by state and dependency management.

JavaScriptのどこに一番苦労していますか?
Multiple
0%
20%
40%
60%
80%
100%
1

コード設計

3,719
2

ステート管理

3,290
3

依存関係の管理

3,053
4

ビルドツール

2,925
5

パフォーマンス

2,538
6

デバッグ

2,355
7

日付や時刻の処理

2,338
8

型付け

2,338
9

非同期処理

1,151
10

パッケージの検索

1,102
0%
20%
40%
60%
80%
100%
回答数に占める割合(%)

There are currently quite a few TC39 proposals that are on the verge of becoming a reality. Temporal and Decorators stood out this year as the ones respondents were most excited about.

Which of these active JavaScript proposals are you most excited about?
Multiple
0%
20%
40%
60%
80%
100%
1

6,637
2

3,392
3

1,312
4

1,259
5

978
6

888
7

750
8

695
9

669
10

462
0%
20%
40%
60%
80%
100%
回答数に占める割合(%)

欠けている機能

While the lack of native static typing has long been felt by the community, it's interesting to see Signals making an entrance at number 3 on this list, despite not being part of the most popular front end framework.

どんな機能がJavaScriptに足りてないと思いますか?
Multiple
0%
20%
40%
60%
80%
100%
1

Static Typing

5,403
2

Standard Library

4,378
3

3,985
4

2,362
5

1,919
6

1,905
7

1,889
8

1,366
9

928
10

701
11

356
12

307
13

Other Answers

169
0%
20%
40%
60%
80%
100%
回答数に占める割合(%)

It's clear that survey respondents want native types, and that they hope to seem them implemented with a TypeScript-like syntax.

This year's question phrasing sadly did not make a clear distinction between runtime types and TypeScript-like type-as-annotations, so it remains to be seen which of these two paths will gain the community's favor.

How would you like to see native types implemented in JavaScript?
0%
20%
40%
60%
80%
100%
1

As similar to TypeScript as possible

8,362
2

Using comments, similar to JSDoc

1,037
3

I would not like to see them implemented

1,000
4

Type Annotations

5

Similar to Java

6

Similar to Rust

7

Similar to TypeScript

8

Similar to Python

9

Other Answers

225
0%
20%
40%
60%
80%
100%
回答数に占める割合(%)

ウェブ技術の現状に満足していますか?

ウェブ技術全般の現状ついてどれくらい満足していますか?
1
2
3
4
5
2020
2021
2022
2023
2024
1
2
3
4
5
Average

JavaScriptの現状に満足していますか?

JavaScript全般の現状ついてどれくらい満足していますか?
1
2
3
4
5
2020
2021
2022
2023
2024
1
2
3
4
5
Average

おすすめのリソース

Your Path to Becoming a Senior Web Developer!
Will Sentance
Codesmith

Your Path to Becoming a Senior Web Developer!

Deep dive into JavaScript, the most popular framework React, Web performance, CSS, deploying websites, TypeScript, and functional JavaScript to become a professional web developer today.
Expand Your Abilities to the Server and Master the Fullstack
Jem Young
Netflix

Expand Your Abilities to the Server and Master the Fullstack

Set up servers, create APIs, and deploy your code to the world by learning the full stack.
パートナーのサポートに感謝しています! 詳細をみる。