State of JavaScript 2024
不只是问卷,整个问卷阅读🔗下来,相信必有收获!
本文全文摘录自调查问卷 / State of JavaScript 2024,填写时发现很多新特性、框架等没有使用乃至听说过,特摘录下来以供个人学习查阅。
已出调查报告:
"在我们忙于决定下一个前端库的选择时,JavaScript 本身也在经历着自身的演变。
新的 TC39 提案正在社区中引起轰动,而其他提案已经处于即将在各大浏览器中实施的边缘。同时,TypeScript 的流行使得未来某个时候原生类型支持的可能性变得真实。
可以肯定的是——尽管 2024 年的 JavaScript 仍然感觉很熟悉,但我们无法保证五年后我们还能对所写的语言有同样的感受。
在此之前,您可以通过参与今年的 JavaScript 现状调查来帮助我们绘制未来的路径!"
1. 特性
您使用过以下哪些语法特性?
- [ ] Dynamic Import Load a module asynchronously and dynamically.
- [ ] Nullish Coalescing Return first value, or second value if first value is null or undefined.
- [ ] Private Properties Properties that cannot be legally referenced outside of the class.
- [ ] Logical Assignment Operators to assign a value to a variable based on its own truthy/falsy status.
- [ ] error.cause Indicate the specific original cause of the error.
- [ ] Hashbang Grammar Provide the path to a specific JavaScript interpreter that you want to use to execute the script.
- [ ] 无
您使用过以下哪些字符串特性?
- [ ] string.replaceAll() Replace all instances of a string.
- [ ] string.matchAll() Return an iterator of all results matching this string against a regular expression.
- [ ] Regexp Match Indices Store the start and end positions of each matched capture group.
- [ ] 无
您使用过以下哪些数组特性?
- [ ] array.findLast() Returns the value of the last element that satisfies the testing function.
- [ ] array.toSorted() Sort without mutating the original array.
- [ ] array.toReversed() Reverse without mutating the original array.
- [ ] array.with() Returns a new array with the element at the given index replaced with the given value.
- [ ] array.toSpliced() Splice without mutating the original array.
- [ ] array.fromAsync() Similar to Array.from but for async iterators.
- [ ] 无
Which of these Set features have you used? (2024年新增)
- [ ] set.intersection() Returns a new set containing elements in both this set and the given set.
- [ ] set.union() Returns a new set containing elements of both this set and the given set.
- [ ] set.difference() Returns a new set containing elements in this set but not in the given set.
- [ ] set.symmetricDifference() Returns a new set containing elements which are in either this set or the given set, but not in both.
- [ ] set.isSubsetOf() Returns a boolean indicating if all elements of this set are in the given set.
- [ ] set.isSupersetOf() Returns a boolean indicating if all elements of the given set are in this set.
- [ ] set.isDisjointFrom() Returns a boolean indicating if this set has no elements in common with the given set.
- [ ] 无
Which of these Object features have you used? (2024年新增)
- [ ] Object.groupBy() Group the elements of a given iterable according to the string values returned by a provided function.
- [ ] 无
您使用过以下哪些异步特性?
- [ ] Promise.allSettled() Returns a single Promise that fulfills when all of the input's promises fulfills.
- [ ] Promise.any() Returns a single Promise that fulfills when any of the input's promises fulfills.
- [ ] Promise.try() Take a callback of any kind and wrap its result in a Promise.
- [ ] 无
您使用过以下哪些浏览器 API?
- [ ] WebGL
- [ ] Web Animations
- [ ] WebRTC
- [ ] Web Speech API
- [ ] WebSocket
- [ ] Page Visibility API
- [ ] Broadcast Channel API
- [ ] Geolocation API
- [ ] WebXR Device API
- [ ] Temporal Provides standard objects and functions for working with dates and times.
- [ ] Gamepad API
- [ ] Web Authentication API
- [ ] Progressive Web Apps
- [ ] WebAssembly (WASM)
- [ ] 无
2. 前端框架
调查框架使用情况
- React
- Vue.js
- Angular(请注意,此问题仅针对 Angular 的用户体验, 而不是 已经弃用的 AngularJS.)
- Preact
- Svelte
- Alpine.js
- Lit
- Solid
- Qwik
- Stencil
- HTMX
3. 元框架
调查元框架使用情况
- Next.js
- Nuxt
- Gatsby
- Remix
- Astro
- SvelteKit
- Docusaurus
- SolidStart
- Deno Fresh
4. 测试工具
调查元框架使用情况
- Jest
- Mocha
- Storybook
- Cypress
- Puppeteer
- Testing Library
- Playwright
- WebdriverIO
- Vitest
- Selenium
- TestCafe
- Mock Service Worker
- Node Test Runner
5. 构建工具
调查构建工具使用情况
- webpack
- Parcel
- Rollup
- tsc CLI
- SWC
- esbuild
- Vite
- Turbopack
- tsup
- Biome
- Rspack
- Rolldown
6. Monorepo 工具
调查 Monorepo 工具使用情况
- Rush
- Turborepo
- Yarn Workspaces
- Yalc
- Lerna
- npm Workspaces
- pnpm
- Nx
7. 其他工具
您经常使用哪些工具库?
- [ ] Immer
- [ ] Lodash
- [ ] Underscore.js
- [ ] Ramda
- [ ] jQuery
- [ ] RxJS
- [ ] stdlib
- [ ] Zod
- [ ] core-js
- [ ] Partytown
- [ ] Mitosis
- [ ] Moment
- [ ] Day.js
- [ ] date-fns
- [ ] Luxon
- [ ] Yup
- [ ] 其他
- [ ] 无
专用于图形和动画的库
- [ ] Popmotion
- [ ] PixiJS
- [ ] Theatre.js
- [ ] Lottie
- [ ] Anime.js
- [ ] Three.js
- [ ] GSAP
- [ ] React-Spring
- [ ] Framer Motion
- [ ] Motion One
- [ ] D3
- [ ] 其他
- [ ] 无
后端框架
生成 API 和管理后端的框架
- [ ] Express
- [ ] Nest
- [ ] Strapi
- [ ] Fastify
- [ ] Meteor
- [ ] Hapi
- [ ] Koa
- [ ] Adonis
- [ ] Keystone
- [ ] Redwood
- [ ] Sails
- [ ] Directus
- [ ] Amplication
- [ ] Blitz
- [ ] Hono
- [ ] ElysiaJS
- [ ] 其他
- [ ] 无
你最常使用哪个引擎/运行时/执行环境?
- [ ] Browser
- [ ] Node.js
- [ ] Deno
- [ ] ChakraCore
- [ ] Hermes
- [ ] Service Workers navigator.serviceWorker.register("/sw.js")
- [ ] Bun
- [ ] 其他
- [ ] 无
您经常使用哪些边缘或无服务器运行时?
- [ ] AWS Lambda
- [ ] Cloudflare Workers
- [ ] Netlify Edge Functions
- [ ] Google Cloud Functions
- [ ] Vercel Edge Runtime
- [ ] Fly.io
- [ ] Digital Ocean Functions
- [ ] Azure Functions
- [ ] Deno
- [ ] 其他
- [ ] 无
您经常使用哪些非 JavaScript 语言?
Other than JavaScript or TypeScript.
- [ ] PHP
- [ ] Ruby
- [ ] Python
- [ ] Go
- [ ] Rust
- [ ] Java
- [ ] C/C++
- [ ] Objective-C
- [ ] Scala
- [ ] Swift
- [ ] C#
- [ ] Haskell
- [ ] OCaml
- [ ] Dart
- [ ] Kotlin
- [ ] Elixir
- [ ] Bash
- [ ] Clojure
- [ ] Elm
- [ ] Julia
- [ ] 其他
- [ ] 无
您经常使用哪些人工智能工具来帮助您编写代码?
- [ ] Amazon CodeWhisperer
- [ ] v0
- [ ] JetBrains AI
- [ ] Codium
- [ ] Google Gemini
- [ ] ChatGPT
- [ ] Codeium
- [ ] Microsoft Bing
- [ ] Cursor
- [ ] Perplexity
- [ ] Copilot
- [ ] Tabnine AI assistant for software developers
- [ ] Phind
- [ ] Cody
- [ ] Llama
- [ ] Claude
- [ ] 其他
- [ ] 无
您使用过哪些服务来托管 JavaScript 应用程序?
- [ ] AWS
- [ ] Azure
- [ ] Cloudflare
- [ ] Digital Ocean
- [ ] Fastly
- [ ] Fly.io
- [ ] GitHub Pages
- [ ] Google Cloud
- [ ] Heroku
- [ ] Netlify
- [ ] Render
- [ ] Vercel
- [ ] Railway
- [ ] 其他
- [ ] 无
8. 使用情况
- JavaScript/TypeScript 平衡
- Compiled Code Balance
- AI Code Generation
- JavaScript 使用情况
- 行业
- 应用范式
- JavaScript 痛点
- New Proposals
- 缺失的功能
- Native Types
- Web 技术满意度
- JavaScript 满意度
9. 资料
Which newsletters do you read to stay up to date with web development news?
前端资讯
- [ ] Frontend Horse
- [ ] JavaScript Weekly
- [ ] Node Weekly
- [ ] Frontend Focus
- [ ] Bytes
- [ ] This Week In React
- [ ] TLDR
- [ ] CSS-Tricks
- [ ] SitePoint
- [ ] Web Design Weekly
- [ ] Vue News
- [ ] 其他
- [ ] 无
订阅了哪些编程相关的播客?
- [ ] Syntax
- [ ] JS Party
- [ ] Web Standards
- [ ] The Changelog
- [ ] Shop Talk Show
- [ ] JavaScript Jabber
- [ ] Miguel Ángel Durán
- [ ] PodRocket
- [ ] DevTalles
- [ ] Front End Happy Hour
- [ ] The Primeagen
- [ ] The CSS Podcast
- [ ] Stack Overflow Podcast
- [ ] Svelte Radio
- [ ] DevtoolsFM
- [ ] 其他
- [ ] 🚫 无
Last updated: