Why is there no OFFICIAL JavaScript reference?

JavascriptReferenceWeb StandardsEcma262

Javascript Problem Overview


I tried to search for a JavaScript reference, but there's none available. The best two suggested sources are MDN (Mozilla Developer Network) and ECMA (https://262.ecma-international.org/12.0/)

Why?

Javascript Solutions


Solution 1 - Javascript

It's not like there is an official JavaScript release. All the browsers have made their own JavaScript engine - some are using the same though. But especially Internet Explorer has its own version that doesn't support a lot of what the other browsers support, making it very difficult to make a general JavaScript reference.

Edit:
While I know there is an official ECMA standard and development team, my point is that it doesn't really matter as long as browsers (Internet Explorer) doesn't live up to it. At the end of the day, clients want JavaScript to work for Internet Explorer too. They won't care about the ECMA standards, they just want it to work. This is where JavaScript libraries come into the picture, but that's another story.

It's the same issues with HTML and CSS, we can't use these tools for active development until:

  • All browsers support them.
  • We supply the browsers with code to make them support it.
  • It's okay it doesn't work in all browsers.

Edit2:
Internet Explorer is getting close to the grave with the new browser project from Microsoft: Edge. This, however, doesn't really change the overall picture. We still have a lot if different browsers we need to support. Developers are constantly trying to push the boundaries of what's possible. This means that we often have this issue, some browser version we want to support doesn't support some feature of the standard (which usually is a bit fluid), which means we need to make some workaround or use frameworks that implement the missing built in features.

Solution 2 - Javascript

You can try with the official ECMAscript site,

http://www.ecmascript.org/

but the useful thing is actually the implementation of each browser.

I like this cheatsheet from Danny Goodman's JavaScript Bible a lot:

http://media.wiley.com/product_ancillary/12/04705269/DOWNLOAD/9780470526910_Appendix_A.pdf

Solution 3 - Javascript

I would say this one is the "official": https://developer.mozilla.org/en/JavaScript

You also have the ECMAScript Language Specification, 5.1 Edition (or as a PDF, the definitive specification).

And from Microsoft: JavaScript Language Reference: "This documentation explains the Microsoft implementation of JavaScript, which is compliant with the ECMAScript 5th Edition language specification. It also provides additional features that are not included in the Ecma Standards."

Solution 4 - Javascript

If you're using ECMAScript for the web (which 99.9% of people are), then beyond the basics syntactics of the language (covered in the ECMA-262 spec mentioned above), what you're probably looking for is a DOM reference - which is the ECMAScript API that's used to interact with web documents.

I'm very surprised noone has mentioned the DOM api sofar. Current W3C DOM standard is here: http://www.w3.org/TR/DOM-Level-2-Core/

(btw, as for the naming confusion - ECMAScript is the name of the official standard, and "Javascript" and "JScript" are Netscape and Microsoft's proprietary "forks")

Solution 5 - Javascript

Wikipedia's quotation:

> Beginnings at Netscape > > In November 1996, Netscape submitted JavaScript to Ecma > International ... > > JavaScript is officially managed by Mozilla Foundation ...

So, in my opinion, the ECMA is the standard and Mozilla is the official one.

Solution 6 - Javascript

It is very difficult to have an "official" reference as long as there are implementations (in all browsers) and there is a specification (ECMAScript) but no conformance tests of implementations against the specifications.

Now though, we have the EMCAScript 5 conformance suite at http://es5conform.codeplex.com/ - and there seems some consensus that ECMAScript implementations will come closer together, making ECMAScript more likely to be the official reference for the language.

Solution 7 - Javascript

There is an official reference, it just isn't in a very convenient format. It is the http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf">ECMA-262</a> specification. It is a single, very large PDF document, instead of a searchable set of HTML pages.

Solution 8 - Javascript

Any revisions of JavaScript pages on MDC by a member of the Mozilla Documentation team (like Eric Shepherd) is official. JavaScript is officially maintained by Mozilla so only documentation by Mozilla is official. The only engines that support JavaScript are currently made by Mozilla and every other engine implements ECMAScript. JavaScript and ECMAScript have quite a few differences (for example, the awesome let statement).

Solution 9 - Javascript

I find the old-school Netscape 4 JavaScript docs very useful for this purpose. Although they're obviously totally outdated, and some of the DOM features in them like Layers are long gone, for the language basics they're really solid.

That's because before the days of IE supremacy and ECMA standardisation, Netscape's JavaScript was the definitive JavaScript. Other browsers pretty much had to implement exactly what you see in those old docs.

They're also much easier to read than the ECMA-262 document, which even by the standards of standards documents is an absolute horror.

Solution 10 - Javascript

By “official”, I think you mean “written by the people responsible for JavaScript”.

Just speculating here really, but the people responsible for JavaScript (the ECMA) don’t directly make any money out of it, and probably don’t have any particular skills in writing reference documentation. So they have neither the incentive nor the ability to write a good reference.

Personally, I like JavaScript: the Definitive Guide from O’Reilly. There’s a sixth edition coming out in November.

Solution 11 - Javascript

I really like Daniel Krook's apidoc, even though it could use some explanations and examples. I would really like to see a krook w3school mashup.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionhuyView Question on Stackoverflow
Solution 1 - JavascriptgoogletorpView Answer on Stackoverflow
Solution 2 - JavascriptVictorView Answer on Stackoverflow
Solution 3 - JavascriptEspoView Answer on Stackoverflow
Solution 4 - JavascriptlucideerView Answer on Stackoverflow
Solution 5 - JavascriptSandroMarquesView Answer on Stackoverflow
Solution 6 - Javascriptuser195021View Answer on Stackoverflow
Solution 7 - JavascriptMichael Aaron SafyanView Answer on Stackoverflow
Solution 8 - JavascriptEli GreyView Answer on Stackoverflow
Solution 9 - JavascriptbobinceView Answer on Stackoverflow
Solution 10 - JavascriptPaul D. WaiteView Answer on Stackoverflow
Solution 11 - JavascriptBenView Answer on Stackoverflow