…have magic behavior that are extremely difficult to explain in terms of the exposed API of ECMAScript 3. For example, the innerHTML property has side-effects, and ES3 does not provide a mechanism for declaring setters. The ECMAScript 5 specification provides some additional primitives that make it possible to explain more of the existing DOM behavior in terms of JavaScript. While designing ECMAScript 6, the committee has repeatedly discussed how certain new features could help explain …
…principled way. I'm pretty fearless about parsers, by the way; I wrote a full ECMAScript parser in a week as a side project.
I want this new language - working name " Rockdown" - to be seen as Markdown with a spec, and therefore only deviate from Markdown's behavior in unobtrusive ways. It should basically be a replacement that paves over the problems and ambiguities in Markdown. I'm trying to draw a line between what behavior is important to preserve …
…of defining custom types. It just so happens the way to do that has a name of "class" in ECMAScript 6.
§ Everything you wanted to know (and more) about CSS line height .
§ Reliability, it's not just a software issue. Why Things Fail : From Tires to Helicopter Blades, Everything Breaks Eventually.
§ Speaking of reliability, before we became type religious, we were all concerned with formal models and proofs. So, how did software get so reliable …
…Open Source library is some form of in-browser, pure-JavaScript, ECMAScript 5 linter. We use JSHint right now and we'd really appreciate being able to enforce true strict mode ( JSHint's strict mode support is rather limited in nature).
Collaboration and Community
With the Khan CS platform we wanted to provide an environment that effectively mimicked the best aspects of great programming communities like Github .
Students can always see the code …
…not a big fan of the linguistic fragmentation this represents, I am glad there are alternatives to ECMAScript 6 (especially if it turns out to be the bloated disaster it's threatening to become.)
On the other end of the web stack, one of Node's most touted advantages is that since it's written in JavaScript, you can share code between the server and the browser. Many presenters suggested that this is true more in theory than in reality, but there has been a lot of work done …
…the CoffeeScript programming language - which has gone on to influence the upcoming ECMAScript specification itself.
I'm personally making use of all of these features, even today, in my work at Khan Academy. Dynamic code evaluation in the browser is such a powerful feature: You can build in-browser programming environments and do crazy things like inject code into a live runtime. This can result in an extremely compelling way to learn computer programming and provide all sorts of capabilities …
If you watched the WAT video that I pointed to in this earlier post , you saw some really counterintuitive behaviour from JavaScript and probably laughed and facepalmed at the same time.
A Stack Overflow user going by the handle of Ventero has taken it upon himself/herself to explain each of those JavaScript oddities, by way of pointing to the ECMA-262 standard. If you were scratching your head trying to figure out why those JavaScript…
Because of these concerns, the ECMA working group responsible for ECMAScript, TC39, is considering adding block lambdas to the language. This would mean that the above example could be refactored to:
FileInfo = function ( name ) { this . name = name ; } ; FileInfo. prototype = { mtime : function ( ) { // use the proposed block syntax, `{ |args| }`. this . withFile { | f | // in block lambdas, +this+ is unchanged var mtime = this . mtimeFor ( f ) ; if ( mtime < new Date ( …
…"interesting" design decisions. So it's always good to have another exploration of object, prototype and friends.
Legacy es6-shim is, and I quote, an " ECMAScript 6 ( Harmony) compatibility shims for legacy JavaScript engines", where "legacy" is likely whatever browser you're using right now.
QotD UX Yoda :
User error it may be. But your responsibility it is.
JavaScript Garden
JavaScript, a.k.a. ECMAScript, but originally named Mocha, then LiveScript, is many things at once, making it a confusing, messy beast. It's ubiquitous, useful, powerful and even after all this time, has some goodies in its bag of tricks that will surprise you. It's also clunky and confusing; and to make matters worse, misinformation in the form of dead-wrong documentation and bad JavaScript code examples abound. I'm going to borrow a backhanded compliment …