ECMAScript 6 compatibility table
hermes
Our great sponsors
ECMAScript 6 compatibility table | hermes | |
---|---|---|
33 | 42 | |
4,406 | 9,347 | |
0.2% | 1.1% | |
6.0 | 9.8 | |
about 2 months ago | 7 days ago | |
HTML | C++ | |
GNU General Public License v3.0 or later | MIT License |
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"
hermes
- Hermes Sandboxed Runtime
-
LLRT: A low-latency JavaScript runtime from AWS
Hermes is a big one as well: low startup latency, low memory
https://hermesengine.dev/
-
A list of JavaScript engines, runtimes, interpreters
Hermes
- Implementation of Arrays via Segments (By Hermes for JavaScript)
-
Threads uses Compose!
InstagramBundle.js.hbc.spk.xz is likely a compressed version of Hermes bytecode (js.hbc)"
-
Removing Timezones from Dates in Javascript
In React Native's case, it uses an engine called Hermes:
-
This Week In React-Native #137: Expo Code Elimination, Monorepo, Hermes, Chain React, EAS, Skia, Expo Router, VisionCamera, React-Native-Graph
📜 I made JSON.parse() 2x faster: Radek proposes to improve the performance of Hermes by using very fast C++ libs based on SIMD instructions. Interesting to read even if you don't use React-Native. Ongoing discussions on the Hermes PR.
-
I made JSON.parse() 2x faster
Thanks! There's a preliminary PR with a discussion here: https://github.com/facebook/hermes/pull/933 (and broader context here: https://github.com/facebook/hermes/issues/811 ). But we'll see if there's any interest on Hermes' side to merging it. They definitely want to improve the parser, but it's unclear to me if they want to take on the simdjson/simdutf dependencies.
-
Hermes, an Open Source Document Management System
For me it’s a JS engine for React Natve - https://hermesengine.dev/
-
Don't pay for painfully slow React Native iOS builds anymore.
💉 Building and injecting a JS bundle a basic concept: If the native code wasn’t changed, simply create JS bundle and inject it into the precompiled application. (You must take an extra step to convert a js file to bytecode if you use the Hermes js engine.)
What are some alternatives?
es6-features - ECMAScript 6: Feature Overview & Comparison
react-native-debugger - The standalone app based on official debugger of React Native, and includes React Inspector / Redux DevTools
Babel (Formerly 6to5) - 🐠 Babel is a compiler for writing next generation JavaScript.
v8.dev - The source code of v8.dev, the official website of the V8 project.
Traceur compiler - Traceur is a JavaScript.next-to-JavaScript-of-today compiler
nodejs-mobile - Full-fledged Node.js on Android and iOS
es6-cheatsheet - ES2015 [ES6] cheatsheet containing tips, tricks, best practices and code snippets
dayjs - ⏰ Day.js 2kB immutable date-time library alternative to Moment.js with the same modern API
es6features - Overview of ECMAScript 6 features
quickjspp - Port of QuickJS Javascript Engine.
Lebab - Turn your ES5 code into readable ES6. Lebab does the opposite of what Babel does.
react-native-quick-base64 - A fast base64 module for React Native