EcmaScript
ECMAScript define un lenguaje de tipos dinámicos ligeramente inspirado en java y otros lenguajes del estilo de C. Soporta algunas características de la programación orientada a objetos mediante objetos basados en prototipos y pseudoclases.
En palabras mas simples define los lineamientos de lenguajes orientado a objetos como Javascript en este caso.
EcmaScript 6
Es el estándar que sigue JavaScript desde Junio de 2015. Hasta ese momento la versión de JS que estábamos usando en nuestros navegadores y Node.js, era la v5.
Función Arrow
// ES5 funcion normalvar miFuncion = function(num) {
returnnum + num;
}
// ES6 funcion arrow mas corta y facil de leervar miFuncion = (num) => num + num;
Clases
Ahora JavaScript tendrá clases, muy parecidas las funciones constructoras de objectos que realizabamos en el estándar, pero ahora bajo el paradigma de clases, con todo lo que eso conlleva, como por ejemplo, herencia. Aunque no deja de ser un azúcar sintáctico (Sugar Syntax) porque en JavaScript no tenemos clases, tenemos prototipos.
classLibro{
constructor(tematica, paginas, autor) {
this.tematica=tematica;
this.paginas=paginas;
this.autor=autor;
}
metodo() {
// ...
}
}
Let y Const
Ahora podemos declarar variables con let en lugar de var si no queremos que sean accesibles más allá de un ámbito.
//ES5
(function() {
console.log(x); // x no está definida aún.if(true) {
var x = "hola mundo";
}
console.log(x);
// Imprime "hola mundo", porque "var" hace que sea global// a la función;
})();
//ES6
(function() {
if(true) {
let x = "hola mundo";
}
console.log(x);
//Da error, porque "x" ha sido definida dentro del "if"
})();
Ahora veamos un ejemplo con const
constPI;
PI = 3.15; // ERROR, porque ha de asignarse un valor en la // declaración//Tampoco se puede cambiar el valor a una constante ya declarada
Template Strings
Ahora con EcmaScript6 se puede concatenar de una simple manera las cadenas de string,para ello en ves de utilizar el signo de suma solamente se coloca el simbolo de dolar con llaves entre comillas invertida, ejemplo:
//ES6let nombre1 = "JavaScript";
let nombre2 = "awesome";
console.log(`Sólo quiero decir que ${nombre1} is ${nombre2`);
// Solo quiero decir que JavaScript is awesome
Valores por defecto
Los valores por defectos se puede pasar como valores de las variables en los parametros de una funcion, ejemplo:
//ES5
function(valor) { valor = valor || "foo";
}
//ES6
function(valor = "foo") {...};
modulos
Ahora JavaScript se empieza a parecer a lenguajes como Python o Ruby. Llamamos a las funciones desde los propios Scripts, sin tener que importarlos en el HTML, si usamos JavaScript en el navegador.
module"person" {
exportfunctionhello(nombre) {
return nombre;
}
ES7
En esta nueva version de javascript7 hubieron solo 2 novedades.
ARRAY.PROTOTYPE.INCLUDES(VAR):Con Include() pasamos por parametro un valor para saber si este se encuentra en el array.
let numeros = [1, 2, 3, 4, 5];
if (numeros.includes(5)) {
console.log('el numero 5 se encuentra en el array');
} else {
console.log('el numero 5 nose encuentra en el array');
}
Elevacion de potecia:Ahora en ES7 tenemos una nueva para calcular una potencia.
let base = 3;
let exponente = 2;
let potencia = base ** exponente;
console.log(potencia);