ECMAScript 6 compatibility table
goja
ECMAScript 6 compatibility table | goja | |
---|---|---|
33 | 25 | |
4,406 | 4,944 | |
0.1% | - | |
5.2 | 6.3 | |
14 days ago | 3 months ago | |
HTML | Go | |
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"
goja
- Goja: ECMAScript/JavaScript engine in pure Go
-
SSR React in Go
dop251/goja
-
Show HN: Flyscrape – A standalone and scriptable web scraper in Go
Your comment was posted 4 minutes ago. That means you still have enough time to edit your comment to change it so it contains real URLs:
<https://github.com/PuerkitoBio/goquery>
<https://github.com/dop251/goja>
(Please do not reply to this comment—I won't be able to delete it once the previous post is fixed if it contains replies.)
- Goja: ECMAScript 5.1 implementation in pure Go
-
TySON: TypeScript as an embeddable configuration language, without depending on Node or V8
Apparently "not depending on Node or V8" means depending on some random Go JS engine instead.
-
Examples of using task scheduler with Go?
Goja https://github.com/dop251/goja
-
Running a Js file inside Go
Either call a JavaScript interpreter like node with exec.Command and read its stdout, or use a pure Go JavaScript interpreter like goja or otto.
-
easytemplate - Go's text/template library with JS Super Powers
Just to also say this is implemented in pure Go we aren't including V8 or any external dependencies we instead use https://github.com/dop251/goja which is a JS VM written completely in Go.
-
how to JSON Marshal a struct if one of its fields is a fucntion
If you want to serialize a function to JSON one idea may be to embed a scripting language like JavaScript into your program. The goja package is a very good solution: a native ES5 JavaScript (with some ES6 syntax support as well) natively implemented in Go so you can get tight data bindings to your Go types and funcs. For your JSON marshalling you could serialize a JavaScript function source (text) and when reloading that, parse that text with goja to be able to run it dynamically in your Go program. Basically you'd need to get away from pure Go for this and towards something that is JSON compatible to (de)serialize to text.
-
Anyone experienced in golang ssr?
Not really. It was built in-house and I don't know of anything about it that went public. I recall it using Goja for the JS runtime. Code was embedded into the binary (think embed package). There was some kind of sorcery to convert what would be HTTP network calls in the browser into local function calls during SSR, but I'm hazy on how it worked I'm afraid.
What are some alternatives?
es6-features - ECMAScript 6: Feature Overview & Comparison
otto - A JavaScript interpreter in Go (golang)
Babel (Formerly 6to5) - 🐠 Babel is a compiler for writing next generation JavaScript.
v8go - Execute JavaScript from Go
Traceur compiler - Traceur is a JavaScript.next-to-JavaScript-of-today compiler
go-lua - A Lua VM in Go
es6-cheatsheet - ES2015 [ES6] cheatsheet containing tips, tricks, best practices and code snippets
gopher-lua - GopherLua: VM and compiler for Lua in Go
es6features - Overview of ECMAScript 6 features
tengo - A fast script language for Go
Lebab - Turn your ES5 code into readable ES6. Lebab does the opposite of what Babel does.
go-python - naive go bindings to the CPython2 C-API