ECMAScript 6 compatibility table
caniuse
ECMAScript 6 compatibility table | caniuse | |
---|---|---|
33 | 393 | |
4,406 | 5,513 | |
0.1% | - | |
5.2 | 9.5 | |
14 days ago | 1 day ago | |
HTML | JavaScript | |
GNU General Public License v3.0 or later | Creative Commons Attribution 4.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
ECMAScript 6 compatibility table
-
TypeScript Is Surprisingly OK for Compilers
http://kangax.github.io/compat-table/es6/
This page lists features from es6 (and newer versions linked at the top) along with compliance to the spec. First column is the current browser, second is babel+corejs polyfills.
Overall, babel gets about 70% of the way there.
- Яндекс Браузер не переводит видео про обучение украинских танкистов, хотя другие видео с канала МО Британии переводит нормально
-
Brett Slatkin: Why am I building a new functional programming language?
Case in point: Tail Call Optimization has been part of the JS spec since ES6, but remains completely unimplemented in all mainstream browsers/engines besides Safari[1]. For all but the most predictable inputs, you're pretty much forced to use loops where recursion would otherwise be preferable.
Additional case in point: async Iterables cannot be processed as a piped stream. You must use the for await construct, which is a shame considering the FP niceties that the Array type already provides for more traditional lists. Once again, you are forced to use an imperative construct unless you specifically want to defeat the purpose of using an Iterable in the first place by trying to convert it into an Array (... and potentially choking in the process, I might add!).
[1]: https://kangax.github.io/compat-table/es6/
- [AskJS] Is there a detailed comparison chart that shows what's supported in JavaScript ES5 versus ES6?
-
A single developer has been maintaining core.js with little recognition or support. Almost all modern single page apps use core.js. Millions of downloads and hardly any compensation
Eventually the browsers started racing to near-full ES6 compatibility. I remember following ES6 progress in realtime with articles and with compatibility tables http://kangax.github.io/compat-table/es6/ . But many people are acting like that either didn't happen, or like it was a one and done thing (despite the ESNext naming shift to avoid the focus on numbers). So we see people just hand-waving away the importance of polyfills like in this gem:
-
Tell HN: Firefox Is an awesome browser right now
> https://kangax.github.io/compat-table/es6/
Oh man this was a rough one both for FF and Chrome but Chrome did perform better slightly on cursory glance.
Thanks for providing these links, they're definitely a good rule of thumb benchmarks to test new browsers
-
My 1st website "Claw Man" written in javascript
Javascript / CSS language syntax: can see availability for Javascript here - https://kangax.github.io/compat-table/es6/
-
Is there any legitimate reasons for the javascript hate?
I say this as a JS user, but there is no singular JavaScript (realistically, it's not even JavaScript but instead ECMAScript). There is no one place to go that lays out all of what the language can or can't do the way PHP and Python do. The ECMAScript board makes recommendations, then the browsers and runtimes implement features of the recommendations. This site does a good job laying out which features are implemented for browsers and runtimes based on the flavor of the ECMAScript standard. This unique experience can be especially frustrating for someone learning JavaScript and coming from another language that does not have this problem.
- JS Polyfills - Part 1
-
[AskJS] Is there a JavaScript library that will test all ES features on your browser and tell you which it supports and which it doesn't?
https://kangax.github.io/compat-table/es6/ has a column for "current browser"
caniuse
-
Caniwebview.com – Like Caniuse but for Webviews
Can I X, is a question about the readiness/compliance of a certain thing at time = now. Can I use CSS version X was the iconic early meme.
https://caniuse.com/?search=css3
For a generalized example, if you wanted to know if the basketball courts were ready for you to “ball it up” in a certain city, it’d be caniball.com
If you want to know if you can use a certain frontend technology, the idea is like: canwefigma?
It’s a glorified feature matrix, and usually a project of a passionate community. I approve, even if some of the memes are a bit dank.
-
Caniemail.com (like caniuse but for email content)
https://caniuse.com/ is a popular tool to check what web features are working across different browsers - "can you use this and assume that it will work for others".
-
Time-Based CSS Animations
The article uses custom css @properties which are awesome and have 88% browser support [1].
One thing to watch out for is differences in how browsers handle setting the fallback initial-value. Chrome will use initial-value if CSS variable is undefined OR set to an invalid value. Firefox will only use initial-value if the variable is undefined. For most projects, this won't be an issue, but for a recent project, I ended up needing to use javascript to set default values in Firefox to iron out the inconsistency between browser implementations.
[1] https://caniuse.com/?search=%40property
-
CSS Text Box Trim
Safari is the only browser that doesn't support extending HTML element
https://caniuse.com/?search=Custom%20Elements
-
JavaScript is not single-threaded
You forgot to mention (Web)Workers. This is explicit creation, management, and communication with additional threads within JavaScript. What's more, they've been around in JavaScript longer than the V8 engine has even existed!
https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers...
https://caniuse.com/?search=webworkers
- Show HN: Render audio to HTML canvas using WebGPU
-
Tree-shaking, the horticulturally misguided algorithm
Do you happen to know where can I check out the cutoff version for each browser? https://caniuse.com/?search=wasm doesn't have it (or other things like WasmGC for that matter)
- Le saviez-vous ? :focus :focus-within :focus-visible
-
10 Websites Every Web Developer Should Bookmark
(https://caniuse.com/) A handy tool for checking the browser compatibility of HTML, CSS, and JavaScript features. Can I Use provides up-to-date support tables for various web technologies across different browsers.
-
SASS is dead? CSS vs SASS 2024
Caniuse
What are some alternatives?
es6-features - ECMAScript 6: Feature Overview & Comparison
browserslist - 🦔 Share target browsers between different front-end tools, like Autoprefixer, Stylelint and babel-preset-env
Babel (Formerly 6to5) - 🐠 Babel is a compiler for writing next generation JavaScript.
caniemail - Can I email… Support tables for HTML and CSS in emails.
Traceur compiler - Traceur is a JavaScript.next-to-JavaScript-of-today compiler
postcss-preset-env - Convert modern CSS into something browsers understand
es6-cheatsheet - ES2015 [ES6] cheatsheet containing tips, tricks, best practices and code snippets
modern-css-reset - A bare-bones CSS reset for modern web development.
es6features - Overview of ECMAScript 6 features
modern-normalize - 🐒 Normalize browsers' default style
Lebab - Turn your ES5 code into readable ES6. Lebab does the opposite of what Babel does.
Servo - Servo, the embeddable, independent, memory-safe, modular, parallel web rendering engine