{}const=>[]async()letfn</>var
Development

What ECMAScript is preparing: raw imports, pushAll and new iterators

What proposals are discussed by TC39 and why they can turn the usual JavaScript upside down

К

Kodik

Author

2 min read

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.

🔥 100,000+ students already with us

Tired of reading theory?
Time to code!

Kodik — an app where you learn to code through practice. AI mentor, interactive lessons, real projects.

🤖 AI 24/7
🎓 Certificates
💰 Free
🚀 Start learning
Joined today

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 map, filter, take, etc. for iterators

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!

🎯Stop procrastinating

Liked the article?
Time to practice!

In Kodik, you don't just read — you write code immediately. Theory + practice = real skills.

Instant practice
🧠AI explains code
🏆Certificate

No registration • No card