Alejandro Oviedo García
Alejandro is a developer who loves learning new things. He is passionate about education, electronics, Open Source, and community-driven events.
@a0viedo
ECMAScript 2015 (aka version 6)
ECMAScript 5
...
ECMAScript 1
Antes del comienzo
Cómo el proceso cambió
Classes
Arrow functions
Iterators (y generators)
Proxies
Destructuring
let y const
y muchos más...
"ES4 was so large and so innovative that there were doubts about whether it could be successfully specified and implemented."
Douglas Crockford
La propuesta de ES4 tuvo algunos sucesores cómo ActionScript 2.0 y JScript 10.0
El último draft de ES3 es publicando en 1999
El último draft de ES5 es publicado en 2009
2006 - Primer release de jQuery
2006 - AJAX es estandarizado por W3C
2004 - Release de Gmail
2000 - Fin del mundo
undefined=1;
alert(undefined == 1); // true
(function(){
'use strict';
var undefined = 42;
console.log(undefined); // 42
})();
El último draft de ES2 fué publicado en 1998
El último draft de ES1 fué publicado en 1997
abstract | do | import | short |
boolean | double | instanceof | static |
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 |
De 40 palabras reservadas en ES2, 38 son también una palabra reservada en Java.
The night is dark and full of terrors.
Otras cosas que pasaban en el 1995: se inventaron Java, Ruby y PHP
Cualquier error de JavaScript abría un pop-up
No habían array literales y objetos literales
La propiedad "constructor" no podía ser seteada
El constructor Number arrojaría un error si el parámetro no podía ser convertido exitosamente.
Number('some string');
Si alguno de los operandos de un operador == era Boolean, undefined o Number entonces coersionaría ambos a Number.
if(new Object() == false) {}
(todavía en versión beta - v0.38)
undefined = void DevFestBA;
if (typeof Object.create != 'function') {
Object.create = Function('o',
'var F = Function();' +
'F.prototype = o;return new F();');
}
un release por año
el comite no sólo lo integran personas trabajando en los principales browsers
procesos más abiertos
"JavaScript at 20" por Brendan Eich
"Virtual Machines, JavaScript and Assembler" por Scott Hanselman
Evolution of JavaScript III
By Alejandro Oviedo García
Un breve repaso sobre la historia de JavaScript y la web.
Alejandro is a developer who loves learning new things. He is passionate about education, electronics, Open Source, and community-driven events.