콘텐츠로 건너뛰기

사용법

자바스크립트를 사용하는 방법

자바스크립트/타입스크립트 비율

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.

0%
7%
14%
21%
28%
34%
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%
7%
14%
21%
28%
34%
% of question respondents
JavaScript와 TypeScript 코드 작성 사이에 시간을 어떻게 나누나요?

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.

0%
11%
22%
32%
43%
54%
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%
11%
22%
32%
43%
54%
% of question respondents
What proportion of the JavaScript code you write for the browser goes through a build step?

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.

0%
8%
15%
23%
30%
38%
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%
8%
15%
23%
30%
38%
% of question respondents
What proportion of the code you produce is AI-generated?

자바스크립트 사용법

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.

0%
19%
38%
57%
76%
95%
1

직업으로써

10,842
2

취미로써

4,593
3

학생으로써

1,143
0%
19%
38%
57%
76%
95%
% of question respondents
어떤 맥락에서 JavaScript를 주로 사용하십니까?

무엇을 위해 JavaScript를 사용합니까?

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

0%
20%
39%
59%
79%
98%
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%
39%
59%
79%
98%
% of question respondents
What do you use JavaScript for?

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

0%
8%
17%
25%
34%
42%
1

프로그래밍 & 기술적 도구

4,299
2

컨설팅 & 서비스

3,555
3

전자상거래 & 소매업

2,668
4

금융

1,796
5

마케팅/영업/분석 도구

1,558
6

교육

1,494
7

엔터테인먼트

1,256
8

의료

1,035
9

뉴스, 미디어 & 블로깅

939
10

정부 관계자

836
0%
8%
17%
25%
34%
42%
% of question respondents
어느 직종에서 일하고 있나요?

어플리케이션 패턴

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.

0%
18%
36%
54%
72%
90%
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%
18%
36%
54%
72%
90%
% of question respondents
다음 중 작년에 사용한 아키텍처 및 렌더링 패턴은 무엇입니까?

JavaScript Pain Points

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.

0%
7%
14%
21%
28%
35%
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%
7%
14%
21%
28%
35%
% of question respondents
What aspects of JavaScript do you struggle with the most?

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.

0%
15%
30%
45%
59%
74%
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%
15%
30%
45%
59%
74%
% of question respondents
Which of these active JavaScript proposals are you most excited about?

Missing Features

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.

0%
11%
21%
32%
43%
53%
1

정적 타입

5,403
2

표준 라이브러리

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%
11%
21%
32%
43%
53%
% of question respondents
What do you feel is currently missing from JavaScript?

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.

0%
16%
32%
48%
64%
80%
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 TypeScript

6

Similar to Java

7

Similar to Rust

8

Similar to Python

9

Other Answers

225
0%
16%
32%
48%
64%
80%
% of question respondents
How would you like to see native types implemented in JavaScript?

전반적인 웹 기술 상태에 대해 얼마나 만족하나요?

0
1
2
3
4
2020
2021
2022
2023
2024
0
1
2
3
4
Average
How happy are you with the general state of web technologies?

자바스크립트의 전반적인 상태에 대해 얼마나 만족하나요?

0
1
2
3
4
2020
2021
2022
2023
2024
0
1
2
3
4
Average
How happy are you with the general state of JavaScript?

추천하는 리소스

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.
우리를 지원해 준 파트너들께 감사 드립니다! 더 알아보기.