Question about ES6

Hi,

I’m currently completing the Basic Javascript section of the Javascript algorithms and data structure certification and I was wondering if the ES6 component was outdated.

When I checked the wikipedia page - https://en.wikipedia.org/wiki/ECMAScript#6th_Edition_-_ECMAScript_2015 - I saw that ES6 came out in 2015 and a few new versions have come out since then.

Should I find a more updated version or is ES6 still relevant?

ES6 is simply javascript. It’s the current standard, though the board that oversees ECMAscript (which is simply the formal-ish name of javascript) are constantly revising and updating the various releases and drafts.

But if you are asking if that’s something you need to know “for the test”, then my answer would be “heck yes.”

ES6 introduced a lot of higher-order functions to javascript. When we do things like Array.map(...), that’s an ES6 feature. When we do Array.every(...) we are using ES6. You’ll learn about “fat-arrow functions”, which are being used everywhere now… thanks to ES6.

Javascript is in a constant state of evolution, sure, but the changes rolled in with ES6 are fundamental to modern, thoughtful javascript.

And the question I gotta ask… “find a new version”: are you planning to write your own browser to support the latest pre-release drafts?

The version of the javascript spec that you write to depends entirely on what browser you’re working for or with. We don’t code (most of us, anyway) to support the Mosaic browser, or the earliest versions of Netscape/IE. “modern browsers” all work to a standard spec, and right now, it’s ES6. Some support newer features, as new drafts are being developed, but the standard is what it is.

The language updates every year and is backwards-compatible, there are more features that have been added but everything is still applicable (if it wasn’t then the rest of the curriculum would be out of date)

1 Like

Thanks for the info. I guess I misunderstood the naming convention and didn’t know if the course here had all the recent updates.

Is there a way of finding out when the ES6 course on this site was last updated?

You can watch the GitHub repo, but it takes a long time to write additions to the curriculum, and i don’t think anything much has been added to it since it was written, just tweaks. It’s only a few years since it was created, so its very new; it’s not as if this stuff ever really changes drastically. The only major addition since that isn’t covered is async await (though there are a few things that were missed; for…of I think, for example)

According to the github, there was a curriculum commit there about three days ago? lol

You can always take a look at the FCC curriculum on github. Those updates may be in documentation, or bug squashing. They are not necessarily indicative of changes to the curriculum as a whole, or to a specific part.

But if there are drastic changes to any part of the language specifications, whether javascript or HTML or CSS, the conversation here would point it out very very quick, and I suspect the lessons would update as appropriate.

Generators too. In fact those seem to be overlooked by most JS programmers in general. And Promises and async/await. Many libraries and frameworks (like the AWS SDK) are entirely async with no synchronous API.

1 Like

I thought promises were kinda covered? I may be misremembering here tho. Generators I really like but they’re not super useful and a bit difficult to explain I think, I’m not sure how well they can be introduced in brief without just seeming bizarre

lol the thing with async/await? it’s basically promises stuck in a generator.

Thanks everyone! I think I’m quite a bit away from learning the more advanced topics but it’s good to know that the content here is up to date… in case I ever get to that stage. :slight_smile:

1 Like

Give it a little time, you might just surprise yourself. Things that seem advanced today, will be dinner-table conversation in a few months. :wink:

1 Like

This is true, and it’s how it is/was shimmed, but try explaining that to a beginner in a couple of lessons. Whereas [the basics of] async/await can be explained pretty easily, there doesn’t need to be much explanation of how it can be implemented under the hood

1 Like

ES6 was a radical change like none has been since. It introduced keywords like let and const, and features like arrow functions.

Newer updates have been smaller and more focused in comparison. ES6, on the other hand, brought changes that every programmer could benefit from.

That’s why a lot of pages, books, and articles teach ES6: it has become a fundamental part of Javascript.