Talk:ECMAScript/Archive 1

From WikiProjectMed
Jump to navigation Jump to search
Archive 1

ECMAScript article vs. JavaScript article

As I see it, JavaScript is to ECMAScript as Pepsi is to cola, that is, JavaScript® refers to Netscape's implementation of the ECMAScript language (and implementations derived from it under the Mozilla license). So why is the description of the language itself in the JavaScript article rather than this article? --Damian Yerrick () 00:15, 17 February 2006 (UTC)

Mostly because JavaScript is not Netscape's implementation of ECMAScript; ECMAScript is a standardization of JavaScript. ECMAScript didn't exist before JavaScript (and didn't become widely known until much later, in fact), so it makes sense to describe the language as it came to be and as it is now in the context of JavaScript. In fact, nobody ever refers to "ECMAScript" unless they want to stress cross-implementation compatibility, since "ECMAScript" sounds like a Lovecraftian monstrosity. Your Pepsi analogy therefore isn't sound, and just because a committee has decided that the standard part of the language shall henceforth be called ECMAScript doesn't make it the dominant topic. I think Wikipedia is accurately reflecting real-world usage here. 82.92.119.11 03:10, 17 April 2006 (UTC)

Discussion

The article is very bad.

ECMA-262 is the still the one and only language specification (currently in its 3rd edition) of the ECMAScript language. ECMA-357 defines just a language extension for ECMAScript called E4X (for better dealing with XML) but it does not define or revise the language itself, i.e. ECMA-357 is not revision 4 of the ECMAScript language!

To quote from the ECMA-357 standard: "This Standard was developed as an extension to ECMAScript Edition 3" and "This Standard will be integrated into future editions of ECMA-262 (ECMAScript)".

The table about the dialects and its corresponding ECMAScript editions is wrong, too. JScript.NET does not implement ECMA-357 but implements Microsoft's draft of ECMAScript 2.0. To quote from Microsoft MSDN: "In addition, JScript .NET is being developed in conjunction with ECMAScript Edition 4 and incorporates many of the proposed features of that language as well."

Edition 4 of the ECMA-262 language specification will define ECMAScript 2.0, but is not officially announced yet. It is very likely that the language will differ from the current version of ECMAScript in many ways. For example, the current version of ECMAScript uses object-based inheritance with prototypes whereas ECMAScript 2.0 will support class-based inheritance, too. Today, there are some drafts and prototypical implementations like JScript.NET but edition 4 is not officially adopted by ECMA.

-- Oliver — Preceding unsigned comment added by 132.252.61.211 (talk) 15:24, 25 May 2005 (UTC)

I tried to clear up the confusion, removing the false references to E4X being ECMA-262 edition 4. --asqueella 22:10, 10 July 2005 (UTC)

JScript.NET is not a client side/browser based scripting language. Should it even be included in the article? — Preceding unsigned comment added by 12.27.119.4 (talk) 21:21, 29 November 2005

Why should that make a difference? ECMAScript is a language specification; it doesn't say for what the language must be used. Some possible uses might be adding scripting support to a graphics editor, an animation package, or a game engine, not to mention Server-side_JavaScript. — Preceding unsigned comment added by 198.184.20.63 (talk) 14:21, 23 August 2006 (UTC)

2006.01.31 0949 ETZ
Updated: the Dialects section in response to Firefox 1.5 being out of Beta. Also changed the link to the Moz E4X docment.
-Derek A. Muenzel
www.munzy.net
damunzy@gmail.com — Preceding unsigned comment added by 155.104.239.16 (talk) 14:51, 31 January 2006


Out of place product plug

This sentence "You can edit JavaScript by JavaScript editor. " contains a link to a vendor site. The sentence is out of place (the paragraph discusses variables and types) and does not generally provide useful information. — Preceding unsigned comment added by 192.197.178.2 (talk) 14:40, 7 November 2006 (UTC)

please consider merging ECMAScript Variables into this article

Merging will improve the quality of THIS article and remove an article which is probably not worthy of remaining as a stand-alone article. Both need some rewrite work to bring them up to standard, however. —Preceding unsigned comment added by Jayron32 (talkcontribs) 03:28, 29 September 2006

Um...why? I believe it has been generally agreed that syntax is covered in the JavaScript article, leaving this article to discuss other matters related to the standardization. I have removed the section, as I strongly believe it was originally created as an advertisment for a commercial product: [1].
For the reference, that page got redirected to ECMAScript. --asqueella 09:43, 30 April 2007 (UTC)

References

An Errata for ECMA262-3 exists at http://www.mozilla.org/js/language/E262-3-errata.html ; it, or a better Errata, should be mentioned.

ISO/IEC 16262 should have a references entry. It's fundamentally the same, but some errors are corrected, including a rather trivial obvious one not in those Errata. I found it via www.iso.org, I think. Some might prefer its font!

82.163.24.100 11:09, 6 August 2007 (UTC)

Mobile

How many microbrowsers support such scripting? Do openwave, opera mini, or the the Motorola or Nokia browers? Mathiastck 12:13, 19 July 2007 (UTC)

We could also use more information up here about the ECMAScript Mobile profile. Mathiastck 21:06, 5 September 2007 (UTC)

ECMAScript Mobile Profile

The article needs a section on the new ECMAScript Mobile Profile ("ECMAScript Mobile Profile" already forwards here -- but there's no info on it...). —Preceding unsigned comment added by 75.36.144.205 (talk) 10:51, 9 March 2008 (UTC)


Ejscript

I object to the campaign to remove all references to Ejscript from Wikipedia. This unreasonable to remove references to one of the very few implementations available of the new Ecmascript 4 standard. Other implementations noted on this page are arguably less "notable". I think those removing references need to read up on the current literature and be aware of the more recent happenings with ES4 and ECMAscript before removing such references. Michael O'Brien (talk) 19:09, 21 July 2008 (UTC)

First off, there is no campaign. Ejscript was found to be not notable and without reliable sources by consensus. By then adding references to other articles without citing and referencing is also against policy and tantamount to vandalism. You may object to this as much as you like but the removal of these uncited and unreferenced additions to articles is well within policy. I have left the references alone in certain contexts that seem to warrant the inclusion of the references. As for the other stuff, I am going through them as I come across them. Thanks for the note to look at those software/languages as well.
Please remove the redlink unless you can cite or reference the inclusion of this to the article. --Pmedema (talk) 06:20, 22 July 2008 (UTC)

EMCAScript 4 to EMCAScript 3 compilers

There are two EMCAScript 4 to EMCAScript 3 compilers available:

  • Jangaroo is a compiler from an ECMAScript 4 subset to ECMAScript 3 implemented in Java.
  • Mascara is a compiler from an ECMAScript 4 subset to ECMAScript 3 implemented in Python.

Would it make sense to include them into the article? 217.111.0.10 (talk) 08:43, 24 July 2008 (UTC) Olaf Kummer

They appear to be legit tools... look over WP:ELNO and if you think that it passes that then I don't see a problem with it. --Pmedema (talk) 09:02, 24 July 2008 (UTC)

edition 4?

In the light of unfortunate recent events, if ES4 ever happens it will look nothing like the drafts implemented in ActionScript etc. So what do all these references to "ECMA-262, Edition 4" in the article mean anymore? Isn't it more appropriate to call it a fork? A retrofork, kinda. --87.162.19.217 (talk) 20:38, 25 August 2008 (UTC)

Sounds like you're an unfortunate victim of Slashdot (or other sensationalist news source). Please read the ES Harmony section in the article. --Maian (talk) 06:01, 26 August 2008 (UTC)

Y2K issues inherited from Java

ECMAScript's Date object is based off Java 1.0's java.util.Date, which has a couple Y2K-noncompliant methods (and constructor). What I mean by "Y2K-noncompliant" is that functions that used these methods could easily have incorrect results when concerning a date >= 2000, if they did not account for that issue. --Maian (talk) 02:44, 31 August 2008 (UTC)

OK I see what you mean now. having a date based on 1900 as year zero is of course not Y2K noncompliant, according to the Java specification and my tests this now deprecated function correctly returns 108 for 2008 and -1 for 1899. It does make it very likely that programs written using it before 2000 would be non compliant (and just assume that this is the displayable year). I have changed the text from "Y2K non compliant" to "non Y2K friendly". -- Q Chris (talk) 12:04, 31 August 2008 (UTC)
That works for me. --Maian (talk) 01:14, 1 September 2008 (UTC)

JavaScriptCore and KJS incorrectly grouped

JavaScriptCore and KJS are more or less completely diverged -- current versions of both JSC and KJS are dramatically diverged from the original forking point, and from each other. Given the significant number of browser that use WebKit (and hence JSC) conflating the two engines is incorrect and misleading -- they each have dramatically different performance characteristics and feature sets, and are the used by a completely different set of applications.

-- Oliver 76.14.73.3 (talk) 18:14, 19 September 2009 (UTC)

Strict mode (5) support

This article is much too messy for me, so I won't edit anything for the time being. Just that much: it should be noted that Mozilla (Gecko 1.9.x, maybe some older versions too) supports strict mode! You can set javascript.options.strict and/or javascript.options.strict.debug in preferences (about:config). I think this is a valuable addendum to the article, since this is NOT standard yet with current competitors of Mozilla. -andy 92.229.161.15 (talk) 21:44, 22 April 2010 (UTC)

ECMAScript 5th Edition

… has been approved (Dec 2009): http://www.ecma-international.org/publications/standards/Ecma-262.htm As I am new to this, I won't edit / add anything to the article. Can somebody please do this? --79.207.242.56 (talk) 18:39, 15 September 2010 (UTC)

why not EcmaScript?

ECMA is no longer an acronym. It's now simply the word Ecma. Shouldn't the programming language now be called EcmaScript rather than ECMAScript?--67.219.254.84 (talk) 16:37, 8 March 2010 (UTC)

Yes, why not? Rursus dixit. (mbork3!) 15:17, 10 May 2011 (UTC)
Because that's the official capitalization as used in the spec: "Standard ECMA-262: ECMAScript Language Specification, 5th edition (December 2009). This Standard defines the ECMAScript scripting language." --Cybercobra (talk) 18:52, 10 May 2011 (UTC)

Internet Explorer 10 RTM

Here it says it gets 0 errors in Test262 but I do get 7 fails with Internet Explorer 10 RTM 64-bit.

83.173.190.226 (talk) 14:05, 2 September 2012 (UTC)

Score table issue

I do NOT get any of the numbers of the "Conformance test" table regarding Opera, Google Chrome, and Firefox, using the same "Pre-release version" stated as of 2012/09/23 there I get:

Opera: Tests To run: 11571 | Total tests ran: 11571 | Pass: 11567 | Fail: 4 | Failed to load: 0

Google Chrome: Tests To run: 11571 | Total tests ran: 11571 | Pass: 11568 | Fail: 3 | Failed to load: 0

Mozilla Firefox: Tests To run: 11571 | Total tests ran: 11571 | Pass: 11407 | Fail: 164 | Failed to load: 0

However I get the same 1/11571 in Internet Explorer 10.

I believe this should be looked at as I tried several times and I get the same scores so this is not a glitch or something of my end.
Derek255 (talk) 14:44, 23 September 2012 (UTC)


I get different results for Chrome stable on Windows Vista (9 failures) vs Windows 8 (3 failures). How should we display this in the table? Also, do we want to list mobile browsers?

DerekMorr (talk) 14:00, 8 November 2012 (UTC)

"often referred to as JavaScript or JScript"?

The language is widely used on the web, and is often referred to as JavaScript or JScript, after the two primary dialects of the specification.

I would say this is simply false:

  • people who refer to "ECMAScript" always mean (some version of) the specification;
  • people who refer to "JavaScript" usually mean "JavaScript as typically implemented", even where that differs from the ES3 specification (in other words, including the range of bugs in common browsers, which are legion, and possibly including some of the common extensions). Sometimes they mean the Netscape specification (especially if followed by a version number, e.g. "JavaScript 1.7");
  • people who refer to "JScript" (or "ActionScript", etc.) always mean those specific implementations.

So these names are never interchangeable, especially by anyone who knows what they are talking about. In particular, it is not the case that most references to "JavaScript" really mean to say "ECMAScript". David-Sarah Hopwood (talk) 20:53, 3 April 2008 (UTC)

Do you have a suggestion for better wording? It's important to capture that 1) ECMAScript is used on the web, and 2) it's most well-known dialects are JavaScript and JScript. All the various specification ambiguities and implementation bugs should be left out of the intro (or left out period since I think they're too detailed/pedantic for WP). --Maian (talk) 06:52, 14 April 2008 (UTC)

This article portrays ECMAScript as a grown-up JavaScript. That may be part of its history, but that is not what it is now. In its current state, ECMAScript is a language definition that lacks a definition of its environment. Not defining its environment was not an oversight; it is at the core of what ECMAScript is. ECMAScript is an object-based programming language that is independent of environment, input, output, event processing, and all that goes with them.

JavaScript is an implementation of ECMAScript. As per ECMAScript's intention, JavaScript provides an environment. The environment is a browser that implements the Document Object Model (DOM).

ECMAScript is not dependent on JavaScript in any way any more. The reverse, though, is true. JavaScript is dependent on ECMAScript.

         ...Warren Gaebel, B.A., B.C.S.
         ...174.92.79.75 (talk) 14:45, 4 April 2013 (UTC)

ECMAScript 5.1 in html5.id.toc

I have re-redered the original html-format of the spec to html5.id.toc with these advantages:

  • all elements have ids, thus anyone can refer to any part of the doc.
  • automatically created table-of-contents facilitates reading.
  • clicking on text it shows its address and its position on toc.
  • link-preview makes reading fast.

The address of the doc is: http://synagonism.net/standard/techInfo/ecma.262.51.2011.html. Because of course I consider this doc important I have added an external-link to this doc in the article on 2013.06.25. But administrator Alexf deleted the link as spam because it is stored in my site and he thinks I promote my site. If and other readers think that my doc is important, in relation to existing pdf link, anyone could add the link. Thank You. Synagonism (talk) 14:44, 25 June 2013 (UTC)

ECMAScript Internationalization API

Ecma International has approved standard ECMA-402, ECMAScript Internationalization API Specification. I'm the editor of that standard and have written or contributed to most of the reference materials, so I'm not going to add anything to the page myself, but if others find the information below relevant, please take it. When adding it, it might make sense to combine it with the existing text about ECMA-357 and ECMA 327 into a new section "Complementary Standards" - these standards all build on ECMA-262, but are separate.

Reference for Website section: ECMA-402

Text for page body: In December 2012, Ecma International published standard ECMA-402, ECMAScript Internationalization API Specification.[1] The standard provides collation (string comparison), number formatting, and date and time formatting for JavaScript applications, and lets applications choose the language and tailor the functionality to their needs.[2] As of August 2013, the standard has been implemented in Chrome (from version 24), Opera (from version 15), Internet Explorer (from version 11).[3] A conformance test suite for ECMA-402 is under development.

Text for External Links: ECMA-402 ECMAScript Internationalization API Specification (December 2012)

Norbert Lindenberg (talk) 07:24, 6 August 2013 (UTC)

History section incorrect

The following comments were left in the history section of this article by an anonymous user (diff):

The initial history is not entirely correct. Netscape, then Mosaic Communications Corp developed a server-side scripting language named LiveScript for their commercial web server offering. LiveScript made its public introduction about the same time NCSA forced MCC to change its name to Netscape.
After it's introduction, Netscape began work on a client-side version of LiveScript. Days before its public release, Netscape changed the name from LiveScript to JavaScript. Sun initially bawked at the name, but because of Netscape's partnership with Sun on the JVM implementation, Sun did not pursue action against Netscape.

I've added a {{cleanup-section}} tag to the section and moved the comments to the talk page. Someone ought to update the section based on these comments. -- intgr 16:20, 8 November 2006 (UTC)


The anonymous user is mistaken about at least three things:

1. I developed "Mocha" (the original codename) as an embeddable interpreter meant for use in both Netscape's server and client, in about ten days in May 1995 (Ken Smith helped by translating java.util.Date, Y2K bugs and all, into C to implement the Date class). This was intended to go in the client and server in the same release, the 2.0 version of Navigator and the matching server and authoring/site-management tools release. The "LiveScript" name came about later, after a trademark search found "Mocha" already in use in the field of software.

2. The anonymous user's chronology is all wrong. My work creating the Mocha interpreter in May 1995 was well after NCSA forced Mosaic Communications Corporation to change its name (I joined Netscape, not MCC, in early April 1995).

3. Sun, or at least Bill Joy, supported the name JavaScript and granted a trademark license for it to Netscape from Sun in early December 1995. Netscape 2.0 did not release until some time in January 1996 -- not exactly "Days before its public release".

Cleanup based on false anonymous claims should wait for corroborating testimony from eyewitnesses (primary sources all died on old machines like the SGI Indy I used at the time).

--Brendan Eich 14:43, 27 February 2007 (UTC)

There isn't much point in waiting for "corroborating testimony" - the present text gives no sources for its claims, and has had a cleanup tag on it for 2 months now. Even if your rewrite will have no references either, it will be no least authoritative at worst - and taking into account your unique position, your version would certainly be the preferred one. So, be bold and just fix it =) -- int19h 18:15, 27 February 2007 (UTC)
I was personally involved in the history, obviously, so I thought it would be better if someone else made the edits. If it's kosher for me to correct the history section, let me know and I'll do it. Thanks. --Brendan Eich 04:40, 23 October 2007 (UTC)
I don't see anything in the Wikipedia policies precluding you from doing the edits on this article. WP:AUTO hardly applies. At any rate, it's community concensus that matters here, and I do not think anyone would object. If they will, they can easily revert the edit. -- int19h 06:21, 23 October 2007 (UTC)

Origins of LiveScript

I think the history section of ECMAScript could do with a very small mention of a company called Nombas. When I was researching javascript implementations, I found that the (now defunct) company Nombas had been a very early driver of this technology. Their summary:

In 1992 and 1993 Nombas developed a language named Cmm (for C minus minus, or "C without the hard stuff") for use as an embeddable scripting language, showing that it was possible to have a full-powered language that was simple enough to replace macro languages. Years later we would change the language name to ScriptEase, because Cmm was "too negative, and the letter 'C' scared people". Cmm was first released in a shareware product called CEnvi, which won awards and fame and is now available as ScriptEase:Desktop. ... When Netscape's first commercial browsers were released we made a version of CEnvi that could handle short scripts embedded within web pages. By embedded scripts within the page we allowed the client side to handle processing, rather than making all dynamic interaction happen on the server. This brought immediate client-side interaction with the user. The advantages of client-side handling were made obvious by Nombas' "Espresso Pages", and Netscape soon began work on their own version, which they called LiveScript, and then renamed to JavaScript just before its final release. [2]

Nombas's ScriptEase product subsequently converged with ECMAScript, the company was subsumed into OpenWave and ScriptEase was withdrawn from market.

I have found little information on exactly how much CEnvi influenced LiveScript. Nombas's history is silent on the topic, although the use of the word "version" suggests that the language was compatible, if implemented independently. At least one source makes an explicit claim of derivation:

Netscape's LiveScript was actually derived from CEnvi, the original forerunner to what is now known as JavaScript. [3]

This is probably meant to refer to LiveScript and CEnvi as a language, rather than as a software system.

Another source implies that only the 'idea' of client-side scripting was transmitted.

Little did Nomba know that its ideas would become an important foundation for the Internet. [4] (from 'Professional JavaScript for Web Developers', Zakas 2005)

The only documentation I have on the ScriptEase product comes from the era when it was ECMAScript-compliant, so I do not know precisely what the language looked like prior to 1995. However, I can say from reading the docs carefully that the language must have had a significant resemblance to ECMAScript from its inception: namely a C-like syntax and an object-prototype model. Neither of these features are in themselves original, but I suspect that it's language design was used by Netscape as a basis for LiveScript.

Anyway, if this heritage is true, what concerns me is the many widespread implied assertions that the language we know today as ECMAScript originated in LiveScript with Brendan Eich. This belief is found in many texts (including the ECMA 262 document itself), and is usually phrased to read that Netscape developed LiveScript independently and originally:

JavaScript was originally developed by Brendan Eich of Netscape under the name Mocha, later LiveScript ... (Wikipedia JavaScript article, my emphasis)
Brendan Eich invented Javascript' ... 'JavaScript was created by Netscape programmer Brendan Eich. inventors.about.com/od/jstartinventions/a/JavaScript.htm

These may be strictly true if you consider JavaScript as a product; and I think that it is very fair to say that Netscape really were the original catalyst for this language's explosion in use, but I suspect that as a language, originality lies with Nombas. DLeonard 14:56, 26 January 2007 (UTC)

Update: I just found this 1994 zip file: http://ftp.monash.edu.au/pub/palmtop/cenvid.zip - It strikes me that Cenvi was an advanced awk for DOS! Most interestingly, there is very strong evidence of Javascript's signature object-prototype-cum-array system in PATHSUBS.BAT's BuildSubsArray() function. However, was Cenvi itself modeled on something else, I do not know. DLeonard 15:33, 26 January 2007 (UTC)


Hello. I first met Brent Noorda in late 1996, when Netscape brought JavaScript to ECMA for standardization. I had never heard of NOMBAS or its products before then. When I created JS in May 1995 (in about ten days for the core language implementation; the rest of that year was consumed by the DOM and browser embedding work), my influences were awk, C, HyperTalk, and Self, combined with management orders to "make it look like Java." --Brendan Eich 22:31, 21 February 2007 (UTC)

I've clarified relationship between JavaScript and Cmm/Nombas in the JavaScript article. --sweecoo (talk) 21:39, 13 November 2013 (UTC)

Influenced by perl?

I found it weird to see that ECMAScript had *Perl* in its list of influenced, so I removed it. User:Mfc added it back with the comment "ECMAScript regular expression definition was explicitly based on Perl". If that's the logic behind listing it in influences, then why don't we also list C (JS syntax was explicitly based on C), Java (the name), and so on? Perl-like regular expressions are part of most modern languages, so it's not worth listing perl as an influence just because of that IMO. --asqueella 17:21, 17 February 2007 (UTC)

[added later] brendan says above "my influences were awk, C, HyperTalk, and Self, combined with management orders to "make it look like Java.". Perhaps this is what should be in the article? --asqueella 16:51, 23 February 2007 (UTC)

I think the point was that regexps as a feature inherent to the language (and not, say, part of a standard library) originate from Perl. Nonetheless, I do not think it is enough to classify ECMAScript as influenced by Perl - by that logic, we'd have to say that it is also influenced by Pascal, since that's where the keyword "var" comes from... -- int19h 19:36, 17 February 2007 (UTC)
I'm not sure I follow the question, here. I chaired the meetings where the regular expressions from Perl were incorporated into the ECMAScript language standard (Brendan Eich was there, too). That committee decided to use the Perl definition for regular expressions (with some modifications, clarifications, and corrections) as the basis for those in ECMAScript. In fact (as far as I have been able to find) that was the first standardization of regular expressions. Both languages influenced and improved each other, at many times. mfc 20:50, 24 February 2007 (UTC)
My apologies, I did not realize you were adding it from your own experience. These lists are not sourced (it's pretty hard to find a source backing the "influenced by" claim, apart from the authors themselves), so there's always doubt about what should and what shouldn't go there. It seems clear enough now. BTW, one more thing to do - the languages listed in "influenced by" section here should in turn have ECMAScript in their respective "influenced" sections. -- int19h 10:18, 25 February 2007 (UTC)

Hi. I added the infobox originally. Since ECMAScript and JavaScript are so similar, could someone edit the JavaScript infobox appropriately, specifically the "Influences" section? Thanks! --Cybercobra 08:54, 15 April 2007 (UTC)

I would like to add on to this that it is widely considered for JavaScript to be a dialect of ECMAScript, and they are often used interchangeably (although not quite technically correct). This theology is very well shown in even Google's and Mozilla's developer sites. impinball (talk) 17:05, 18 January 2014 (UTC)

Java influence

My rationale for including Java as an influence: Brendan Eich admits that it influenced both the look and standard library of JS, even some of the fundamentals. And yes, JS does have a standard library (Object, Number, Date, String, etc.) From http://weblogs.mozillazine.org/roadmap/archives/2008/04/popularity.html:

The diktat from upper engineering management was that the language must "look like Java".

The Java influences, especially y2k Date bugs but also the primitive vs. object distinction (e.g., string vs. String), were unfortunate.

--Maian (talk) 09:22, 12 April 2008 (UTC)

I wouldn't say that Java is necessarily an influence, because the two languages were first released (with their documentation) in the same year, and with regards to JavaScript standard library, even pure C has had a standard library for most of its existence (if not its entire one...I don't know for sure). The name of JavaScript was actually made after it was first released as "LiveScript", because of the many similarities in syntax it had to Java, but it was not actually influenced by it.
The Y2K bugs had nothing to do with either of those languages directly (refer to the Wikipedia article for some more details on this). Also, Java doesn't have quite the distinction between primitives and their corresponding objects (int vs. Integer(), boolean vs. Boolean(), etc.) than JavaScript. JavaScript treats objects as never being equivalent to literals, while Java sees primitives as objects themselves. Example: In JavaScript, new Boolean("false") != false, while in Java: boolean bool = new Boolean("false"); and boolean bool = false; do exactly the same thing. — Preceding unsigned comment added by Impinball (talkcontribs) 17:29, 18 January 2014 (UTC)

Shim for support in older browsers

Perhaps a section is needed to mention shims which give some ECMA5 supoprt to older ECMA3 browsers? es5-shim and ddr-ecma5 come to mind. — Preceding unsigned comment added by 81.108.137.212 (talk) 11:52, 9 April 2014 (UTC)

Ecmascript conformance test

There is a new conformance test for Ecma script.

test262.ecmascript.org/default.html

Cuurently IE9 is the best conforming Ecmascript browser failing only 18 out of 9000 tests. 86.83.239.142 (talk) 09:50, 19 March 2011 (UTC)

According to that site: "test262 is not yet complete. It is still undergoing active development. Some portions of the ES5 specification have very complete test coverage while other portions of the specification have only partial test coverage. Some tests may be invalid or may yield false positive or false negative results. A perfect passing score on test262 does not guarantee that a JavaScript implementation perfectly supports ES5. Because tests are being actively added and modified, tests results from different days or times may not be directly comparable." Anyway, it doesn't report results showing how one browser compared with another on any particular day, and any tests you personally perform at that site would be "original research". What you need is an independent, reliable, secondary source. - Pointillist (talk) 00:06, 21 March 2011 (UTC)
The test itself still needs to be listed in the article because it is relevant to this article. Browsers test results (or marketshares) listed on wikipedia are always in need of maintenance. That is not really a problem. As long as is evident which version is tested and/or when the result was relevant. Ecma has also versioned the test so changes in the test can easily be noticed. 86.83.239.142 (talk) 00:30, 21 March 2011 (UTC)
That's a start but any comparative table of results needs the caution that results from different days or times may not be directly comparable. AFAICS it isn't going to be of much encyclopedic use until it is finalized. - Pointillist (talk) 08:37, 21 March 2011 (UTC)
In the Implementations section, "KHTML layout engine, KDE's Konqueror, and Apple Inc.'s Safari" are listed as ECMAScript Ed 3, yet Safari is currently the most complaint with the conformance test (so I assume the related family are also compliant). So should their conformance be upgraded to ECMA-262 Ed 5 or 5.1? — Preceding unsigned comment added by 203.27.127.129 (talk) 01:35, 18 August 2014 (UTC)

Please see Wikipedia:Categories_for_discussion/Log/2014_October_24#Category_talk:C_programming_language_family. Andy Dingley (talk) 12:19, 24 October 2014 (UTC)

Harmony, 6th Edition - Unclear

Should this section be deleted? It is tagged as Outdated, and it appears that the content within this section relates to the older versions and decisions made with those earlier versions. The information in the "Versions" table further up the page actually was more useful than the info shown under the current section. I may be wrong though, as I am no expert in ECMAScript, I came here to find more info on the latest version, and just felt I had to add a comment, as it was confusing to read. — Preceding unsigned comment added by 86.187.15.205 (talk) 17:15, 2 November 2015 (UTC)

ES6 or ES2015?

  • Why name changed (aliased?) at the end of 2015?
  • Why use year based versioning?
  • ES7 or ES2016?

Cpartiot (talk) 14:08, 11 December 2015 (UTC)

Wikipedia is not a discussion forum.ajf (talk) 20:42, 11 December 2015 (UTC)

External links modified

Hello fellow Wikipedians,

I have just modified 2 external links on ECMAScript. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:

When you have finished reviewing my changes, please set the checked parameter below to true or failed to let others know (documentation at {{Sourcecheck}}).

This message was posted before February 2018. After February 2018, "External links modified" talk page sections are no longer generated or monitored by InternetArchiveBot. No special action is required regarding these talk page notices, other than regular verification using the archive tool instructions below. Editors have permission to delete these "External links modified" talk page sections if they want to de-clutter talk pages, but see the RfC before doing mass systematic removals. This message is updated dynamically through the template {{source check}} (last update: 18 January 2022).

  • If you have discovered URLs which were erroneously considered dead by the bot, you can report them with this tool.
  • If you found an error with any archives or the URLs themselves, you can fix them with this tool.

Cheers.—InternetArchiveBot (Report bug) 13:21, 18 December 2016 (UTC)

"Chrome 52 has passed all [ES6] tests"

The Implementations table lists the supported version in ECMAScript by engine; Chrome (V8) is listed as supporting ES6, with the following footnote, emphasis mine:

Chrome has already supported majority of ECMAScript 2015 features. According to the widely used compatibility table, Chrome 52 has passed all tests when experimental JavaScript flag is on.

The linked compatibility table doesn't claim this; it claims that some of the currently-failing tests pass when the experimental flag is turned on, not all of the tests. That is, Chrome does not completely pass with or without the flag; the page only claims that it comes closer to passing if the flag is enabled.

I'll be editing this statement shortly to reflect the information in the source/reality. I also question whether supporting 97% of compatibility tests implies "ES6 support" as the table currently implies. Seems like you're not quite there, yet. However, I'll leave that be.

Deathanatos (talk) 23:32, 24 January 2017 (UTC)

Maintenance and rating of JavaScript articles

Concerning editing and maintaining JavaScript-related articles...

Collaboration...

If you are interested in collaborating on JavaScript articles or would like to see where you could help, stop by Wikipedia:WikiProject JavaScript and feel free to add your name to the participants list. Both editors and programmers are welcome.

Where to list JavaScript articles

We've found over 300 JavaScript-related articles so far. If you come across any others, please add them to that list.

User scripts

The WikiProject is also taking on the organization of the Wikipedia community's user script support pages. If you are interested in helping to organize information on the user scripts (or are curious about what we are up to), let us know!

If you have need for a user script that does not yet exist, or you have a cool idea for a user script or gadget, you can post it at Wikipedia:User scripts/Requests. And if you are a JavaScript programmer, that's a great place to find tasks if you are bored.

How to report JavaScript articles in need of attention

If you come across a JavaScript article desperately in need of editor attention, and it's beyond your ability to handle, you can add it to our list of JavaScript-related articles that need attention.

Rating JavaScript articles

At the top of the talk page of most every JavaScript-related article is a WikiProject JavaScript template where you can record the quality class and importance of the article. Doing so will help the community track the stage of completion and watch the highest priority articles more closely.

Thank you. The Transhumanist 01:08, 12 April 2017 (UTC)

External links modified

Hello fellow Wikipedians,

I have just modified 5 external links on ECMAScript. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:

When you have finished reviewing my changes, you may follow the instructions on the template below to fix any issues with the URLs.

This message was posted before February 2018. After February 2018, "External links modified" talk page sections are no longer generated or monitored by InternetArchiveBot. No special action is required regarding these talk page notices, other than regular verification using the archive tool instructions below. Editors have permission to delete these "External links modified" talk page sections if they want to de-clutter talk pages, but see the RfC before doing mass systematic removals. This message is updated dynamically through the template {{source check}} (last update: 18 January 2022).

  • If you have discovered URLs which were erroneously considered dead by the bot, you can report them with this tool.
  • If you found an error with any archives or the URLs themselves, you can fix them with this tool.

Cheers.—InternetArchiveBot (Report bug) 15:00, 15 September 2017 (UTC)

Re: naming, implementations and historical dialects

ECMAScript is the correct name of what we know colloquially as "JavaScript", see https://tc39.github.io/ecma262/. the name had to change due to copy write issues (Oracle would not allow the use of the name). It became known as ECMAScript because they couldn't carry over the name, so they just used the name of the organization handling the standard. the standard is known as ECMA262, but that may have also updated. The only entity which can legally call something "JavaScript" is oracle. ECMAScript is the vendor standard name, and therefore the javascript article should redirect to the ecmascript article, since the name is incorrect and just a historical hiccup.

Javascript and jscript are not implementations of ecmascript. They existed before ecmascript, and were part of the arms race between netscape and microsoft. they are historical dialects. JavaScript, originally called mocha, was developed by netscape and licensed the name from oracle. JScript was microsoft taking a look at what JavaScript looked like, and reverse engineering it. Actionscript is a superset, not an implementation of ecmascript, and was based on a sister language called hyperscript which developed independently.

information about releases: could use a line or two about the 4 stage process, and about experimental environments such as browsers and babel.

Babel should be added as an implementation — Preceding unsigned comment added by 2001:16B8:26E1:D600:2D6C:5C0F:C9A8:2A54 (talk) 09:01, 22 November 2017 (UTC)

Where is esnext?

How does esnext fit into this article? The name currently does not exist in the article or talk page, yet there are lots of online articles about esnext. David Spector (talk) 16:00, 23 December 2017 (UTC)

ECMAScript#ES.Next "ES.Next is a dynamic name that refers to whatever the next version is at time of writing. ES.Next features are more correctly called proposals, because, by definition, the specification has not been finalized yet."
There's not much more to say about it. Lonaowna (talk) 16:19, 23 December 2017 (UTC)

ECMAScript as "framework" of language, JavaScript as Web Browser Implementation?

I am in no way well-informed on this subject, but I had always thought that ECMAScript codifies the underlying grammar of the language, but is not an implementation for HTML Web Browsers in itself?

This was my impression at the introduction of ECMAScript at least... perhaps it's expanded in scope since... —Preceding unsigned comment added by 75.36.144.205 (talk) 10:48, 9 March 2008 (UTC)

I wouldn't characterise it like that. JavaScript (originally "LiveScript") came first, then Microsoft made a compatible language called JScript, then both companies came together (along with others) to standardise the core language as "ECMAScript." The definition of ECMAScript allows for "host objects" which are things like the 'window' object or 'XMLHttpRequest' in web browsers. These are not part of ECMAScript, they are part of the host (browser) but the language you use to program them is ECMAScript / JavaScript / JScript. ECMAScript by itself is pretty useless (for example, it defines no input or output routines, so you can't even write "Hello, world" in 'pure' ECMAScript) but it is much more than just a 'framework'. Peter Torr (MSFT) (talk) 05:46, 10 March 2008 (UTC)

Here it is almost a decade later, and this article is still extremely misleading to new programmers as to what the relationship is between Javascript and ECMAscript. This article currently lists Javascript as an implementation, along with V8 and Spidermonkey. This is not an accurate portrayal of reality. Can't we just say that ECMAscript is a standardized version of Javascript and that it is implemented in *engines* such as V8 and Spidermonkey? Metalliqaz (talk) 23:08, 2 January 2018 (UTC)

Version 8?

The Versions chart does not list the new features in version 8. Instead it offers a list of "proposed" features, with no documentation of how these were proposed. Pointing to https://github.com/tc39/proposals/blob/master/stage-0-proposals.md and https://github.com/tc39/proposals might be a better way to document proposals, if there is even a point to doing so. — Preceding unsigned comment added by Cerberus0 (talkcontribs) 20:03, 3 January 2018 (UTC)

Disagree with deletion of implementations

Edit https://en.wikipedia.org/w/index.php?title=ECMAScript&curid=188515&action=history removed a list of ECMAScript implementations which may be of useful historic interest if not available elsewhere. Perhaps the full list could be moved into a separate article instead of being deleted? David Spector (talk) 15:15, 8 March 2018 (UTC)

Features Section

Discussed page's: version 892039411

I think it's better to move this section's content into a specific version's features and leave general overview of the language. Any thoughts? DAVRONOVA.A. 20:29, 11 April 2019 (UTC)

Filename extensions, Confusion over languages

EMCAScript's filename extensions are so far:

  • .es

Should there also be .js (JavaScript) as a file extension? I've never seen the .es extension before, but I have seen .js many times. Since JavaScript is basically the same as ECMAScript.

Another note, ECMAScript was created to help standardize JavaScript, or JScript... and was created after JavaScript of course. But because of EMCAScript, JavaScript has now changed, and now JavaScript is inspired *from* ECMAScript. Wow.  AltoStev Talk 01:58, 9 November 2020 (UTC)

ECMAScript is a language

The intro agrees. But the section (ECMAScript#ECMAScript, ECMA-262 and JavaScript) says otherwise  AltoStev Talk 18:19, 12 April 2021 (UTC)

Blown up section

Ok, looking at the section even further, this is a great misunderstanding! I blew it up. Maybe someone can fix the original section - here's some parts that were very wrong:

Text

(Commented out because it was too big - see source)


signature

 AltoStev Talk 20:15, 15 April 2021 (UTC)