One of my favorite new language features introduced this year is the
Object.groupBy method. Imagine having an array of objects with similar schemas, such as database records, where each object contains an
groupBy, you can easily separate the children from the adults by defining a function that groups anyone under 21 into
children and anyone above 21 into
adults. The end result is an object conveniently organized into groups. This utility has proven to be quite handy in many scenarios! 👨👩👧👦
reverse for arrays, but they mutated the original array in place. In 2023, two new methods were introduced:
What sets these methods apart is that they treat the original array as an immutable value and return a new sorted or reversed array.
array2.splice method allows you to perform splicing operations while preserving the immutability of the original array. 📚
Web developers were treated to the introduction of several new HTML elements in 2023.
For instance, the
<search> tag provides a more semantic way to define a search box on a website, replacing the more generic
Another exciting addition is the
<dialog> element, which empowers developers to create modal dialogues and control them using built-in methods like
These elements bring enhanced functionality and usability to web applications! 🔍💬
After years of requests, Apple finally allowed push notifications to be sent from web apps on iOS. Although this feature caters to a small percentage of website users who permit push notifications, it's still considered a significant win.
Picture your grandpa, who accidentally clicked the
allow button and is now unable to figure out how to turn off push notifications. Well, this change made his life much more interesting! 🍏🔔
The introduction of server components enabled fetching data directly within React components, blurring the lines between frontend and backend. While the response to these changes has been mixed, with some praising the new features and others expressing concerns about rushed implementation, Next.js continues to dominate the meta framework landscape. 📁🚀
In the Nuxt.js and Vue ecosystem, 2023 brought exciting updates like the introduction of browser-based developer tools. These tools simplify the understanding of complex application structures and greatly enhance the developer experience.
Svelte, a framework loved by many, experienced significant changes in 2023. The introduction of
runes replaced the previous method of defining reactive variables with
let. Runes, essentially compiler macros, inform the Svelte compiler that a value is reactive.
Additionally, Svelte bid farewell to the
$: syntax and adopted newer approaches like derived and effect for stores. Feedback on these changes has been diverse, with some perceiving Svelte as resembling React more closely, while others appreciate the framework's evolution. The final release of version 5 will undoubtedly shed more light on Svelte's future direction. 🔮
Angular, a widely known framework, underwent notable changes in 2023. The introduction of a new template syntax provided a cleaner and more intuitive approach to handling conditionals and loops, replacing older constructs like
Angular also embraced signals, a common feature across many frameworks. Additionally, the new
defer views feature enables seamless declarative lazy loading directly in templates. As a bonus, Angular received a brand new logo, adding to its overall appeal. It's been a remarkable year for Angular enthusiasts! 🎯
While the front-end stole much of the spotlight, Node.js made steady progress in 2023. With the release of Node.js version 20, a new permissions model was introduced to enhance security by controlling script access to specific features.
Additionally, Node.js version 21 brought its own WebSocket client, leveraging the WebSocket API from the browser. These advancements have bolstered Node.js's position as a robust backend technology. 🖥️