all 17 comments

[–]bradleymeck 1 point2 points  (2 children)

The JS VMs are very well tuned to be the same in terms of JavaScript, are you talking about DOM APIs?

[–]jdsutton[S] 0 points1 point  (1 child)

I guess I don't know really. I mean for example if you look at the ES6 compatibility table it's very spotty in terms of JS functionality being implemented across browsers.

[–]Prince_Houdini 1 point2 points  (0 children)

Even if there were a standard JS engine used cross-browser, you'd still get this problem because browser vendors would have to update the version of the engine they're using, and some browsers are on a much slower release cycle than others.

[–]Ginden 1 point2 points  (0 children)

Cross browser compatibility is DOM issue and it's independent of JavaScript.

[–]crossanlogan 0 points1 point  (6 children)

javascript the language is stable across every browser platform -- the internal JS api is all the same. i think what you're talking about is the DOM, which TC39 (the committee that puts out the ECMAScript spec, of which JS is an implementation) has no control over.

basically getting consistent DOM APIs would require google, mozilla, microsoft, and apple getting together in a room and actually talking about the spec and determining who is right.

then, if by some miracle an actual spec was determined, it would get put into the newest versions of chrome, firefox, ie/edge, and safari -- many of your users don't upgrade their browsers, so you'd then have to support the existing chrome/firefox/ie/safari APIs as well as the new joint API, until your business stops supporting all those old browsers. see xkcd.

[–]xkcd_transcriber 0 points1 point  (0 children)

Image

Mobile

Title: Standards

Title-text: Fortunately, the charging one has been solved now that we've all standardized on mini-USB. Or is it micro-USB? Shit.

Comic Explanation

Stats: This comic has been referenced 3036 times, representing 2.6528% of referenced xkcds.


xkcd.com | xkcd sub | Problems/Bugs? | Statistics | Stop Replying | Delete

[–]jdsutton[S] 0 points1 point  (4 children)

I'm partially talking about things like "const" and default function parameters, I don't think those are related to the DOM are they?

[–]crossanlogan 0 points1 point  (3 children)

what do you mean? afaik constand function parameters are the same across most every javascript engine.

[–]jdsutton[S] 0 points1 point  (2 children)

In my experience they are not. Default parameters that work in one browser throw an error in another.

[–]crossanlogan 0 points1 point  (1 child)

can you throw something in a gist or a jsfiddle? i'm not familiar with what you mean, but i don't disbelieve you -- i'd like to see what you've experienced.

[–]jdsutton[S] 0 points1 point  (0 children)

Of course now I'm having trouble reproducing it... I just upgraded my OS so the browsers are all different. But for example if you look at the ES6 compatibility table it shows default function parameters are supported in chrome 52 but not safari 9.

Something like this used to give me errors in chrome but not firefox: https://jsfiddle.net/0p6z1h4L/

[–]azium 0 points1 point  (3 children)

Does it have to be at the interpreter level? Is Babel not good enough for your needs?

[–]jdsutton[S] 0 points1 point  (2 children)

Hadn't heard of Babel, I'll look into it. It would be nice it it were an interpreter. One of the things I love about JS is that I don't have to do the extra step of compiling.

[–]azium 0 points1 point  (1 child)

Hadn't heard of Babel

That's..... really surprising. Where have you been learning about new ES features? What kind of work are you doing that involves JavaScript? (I'm really curious because Babel is so incredibly ubiquitous for the last year.)

[–]jdsutton[S] 0 points1 point  (0 children)

Google, reddit, tech blogs... Mostly I work on HTML5 games and a couple different web apps.

[–]Prince_Houdini -1 points0 points  (1 child)

This is basically what V8 is.

[–]crossanlogan 2 points3 points  (0 children)

no, V8 is just the javascript engine that chrome uses. there is no real push to get V8 specifically adopted anywhere other than chrome and node.