Skip to content

Instantly share code, notes, and snippets.

@santiq
Created March 3, 2016 19:42
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save santiq/1abdecd780835348ee86 to your computer and use it in GitHub Desktop.
Save santiq/1abdecd780835348ee86 to your computer and use it in GitHub Desktop.

#Inicios modestos

Javascript fue creado en Mayo de 1995, por Brendan Eich, en ese entonces solo funcionaba en Netscape En diciembre de ese año, fue presentado como lenguaje para el lado del servidor, corriendo en Netscape Enterprise Server, no fue hasta mediados de los años 200x que aparecio Node.

https://developer.mozilla.org/en-US/docs/Web/JavaScript/New_in_JavaScript

Su nombre oficial es ECMAScript

Pasaron 6 años desde que salio ES5 (diciembre 2009), el que todos conocemos, y usamos a diario, hasta que se estandarizo version ES6 (June 2015), debedio a esto desde ES7 las estandarizaciones van a ser mas frecuentes, con deadlies de 1 año. Pero no quiere decir que año a año veamos cambios tan grandes como ocurrio con ES6

#ES6

El proceso de estandarizacion lleva mucho tiempo

[imagen-de-soporte]

http://kangax.github.io/compat-table/es6/

#Babel

Gracias a herramientas de transpilacion, como babel, podemos escribir en el nuevo javascript, sin preocuparnos demaciado por la compatibilidad.

##Transpiler

Transforma la sintaxis de ES6 para que pueda ser ejecutada

##Features de ES6 Sin entrar en mucho detalle

let

Anteriormente en ES5, teniamos este problema con el alcance (scope) de variables

var mensaje = "hola meetup";

while(true){
	var mensaje = "chau meetup";
	console.log(mensaje); //muestra chau meetup
	break;
}

console.log(mensaje) //muestra chau meetup

Usando let

let mensaje = "hola meetup";

while(true){
	let mensaje = "chau meetup";
	console.log(mensaje); //muestra chau meetup
	break;
}

console.log(mensaje) //hola meetup

const

Nos permite definir constantes. Cuando estamos trabajando con paquetes externos, de seguro no queremos por error modificarlos

const moment = require('moment');

moment.nuevaVariable = 15 // Dara error, no se puede modificar constantes.

Nuevos features para Arrays

Soporte nativo para funciones muy usadas en librerias de terceros (Lodash, Underscore)

array.map()
array.each()
array.filter()

Arrow functions

Solo es un cambio de sintaxis opcional, con el beneficio de escribir codigo mas entendible

var saludar = funcion(){
	console.log('Hola!')
}

let saludar = ()=>{
	console.log('Que tal?')
}
function (){
	function (){
		function (){
			function (){
				console.log("Que profundo!");
			}
		}
	}
}

()=>{
	()=>{
		()=>{
			()=>{
				console.log("super profundo!")
			}
		}
	}
}

Y hay mas! Promises, Typed Arrays, Generators, Classes, Modules, String templates, ...

Listado de features con comparacion a la version anterior

http://es6-features.org/#Constants

#ES7 Todavia se esta discutiendo sobre los nuevos cambios Algunos posiblemente sean

*SIMD

*Decorators

*Async/await functions

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment