I like dogs
JavaScript developer
Member of NodeBots Buenos Aires and NodeSchool Buenos Aires
ECMAScript 2015 (aka version 6)
ECMAScript 5
...
ECMAScript 1
Before the beginning
How the process changed
Classes
Arrow functions
Iterators (and generators)
Proxies
Destructuring
let and const
and many more
"ES4 was so large and so innovative that there were doubts about whether it could be successfully specified and implemented."
Douglas Crockford
Final draft of ES3 was published on 1999.
Final draft of ES5 was published on 2009.
2006 - First release of jQuery
2006 - AJAX is standardized by the W3C
2004 - Release of Gmail
2000 - End of the world
ES5 introduced:
(function (){ undefined=1;})();
alert(undefined == 1); // true
Final draft of ES2 was published in 1998
ES3 introduced:
abstract | do | import | short |
boolean | double | instanceof | super |
byte | enum | int | super |
case | export | interface | switch |
catch | extends | long | synchronized |
char | final | native | throw |
class | finally | package | throws |
const | float | private | transient |
debugger | goto | protected | try |
default | implements | public | volatile |
Out of 40 future reserved words in ES2, 38 are also a Java keyword.
Final draft of ES1 was published in 1997
The night is dark and full of terrors.
Other things happening in 1995: invention of Java, Ruby and PHP
Any JavaScript error would open a pop-up.
There was no array and object literals.
The constructor property couldn't be set by assignment
Lets polyfill:
undefined=void meetup.js;
if (typeof Object.create != 'function') {
Object.create = Function('o',
'var F = Function();' +
'F.prototype = o;return new F();');
}
Releases shipping yearly
non browser vendor based commitee
Open committee
"JavaScript at 20" by Brendan Eich
"Virtual Machines, JavaScript and Assembler" by Scott Hanselman
Evolution of JavaScript III
@a0viedo