JavaScript is on the verge of big changes again.
Committee TC39, responsible for the development of the ECMAScript standard, discusses fresh proposals that can greatly simplify the life of developers. Raw imports, the new pushAll method, and iterators with "smart" methods - all of this can be included in the language in the next releases. Let's take a look at what these features are and why you should follow them right now.
Raw Imports (Import Attributes & Raw Imports)
We are used to import x from '...', but the modern frontend is no longer limited to JS and CSS. JSON, WASM, and even non-standard formats come into play.
What they offer:
import config from './config.json' with { type: 'json' };
import wasm from './engine.wasm' with { type: 'webassembly' };
The ability to work directly with "raw" data, for example ArrayBuffer for binary files. This removes the crutches from fetch() + Response.text() and makes the code transparent.
pushAll — the long-awaited upgrade of arrays
Today, to add an array to an array, we write:
arr.push(...other);Beautiful, but ineffective. New method:
arr.pushAll(other);✔ No hidden allocations
✔ More productive on big data
✔ Clearer for beginners
New iterators: "collections" style functionality
TC39 discusses an extended API for iterators to make them look like collections in Python or C#.
const it = [1,2,3,4,5].values()
.filter(x => x % 2)
.map(x => x * 10);
console.log([...it]); // [10, 30, 50]
Now iterators will cease to be a "low-level thing" and will become a full-fledged tool for working with data.

Current status in TC39
Each new feature has a path from idea to standard. Here's where they are now:
Offer | Description | Stage |
|---|---|---|
Import Attributes (Raw Imports) | Imports with resource type (JSON, WASM, binary data) | Stage 3 |
Array.prototype.pushAll | Adding array elements without spread | Stage 1 |
Iterator Helpers | Methods | Stage 3 |
Why is this important?
Imports make JS a truly multi-format language.
pushAll removes crutches and increases readability.
Iterators take the language to a new level of declarativeness.
We are in Codice We like to dig up such features at the start - so that later we can explain in simple words and show how to use them without pain. The application has courses in JavaScript and other languages, and in our Telegram channel we discuss the latest TC39 proposals and hot front-end news.
📲 Join us to us and be aware of the future of JS!
