Prueba con ECMAScript 6

Creo que llegue tarde XD ... ya hace meses se libero el estándar de EMACScript 6, que trae nuevas funcionalidades, haciendo experimentos y validado como funciona he probado este código ... por medio de http://babeljs.io/ he instalando el programa babel-cli por medio de npm

sudo  npm install --global babel-cli  
'use strict';

///////////  constantes y variables 

let saludo = "Hola mundo !!!"  
let saludoMultilinea = `hooooola pepe  
que estas haciendo aqui !!`;

const ESTADO = "el mundo  !!! :O jejeje"

console.log(` ${ saludo } bien y tu; ${ ESTADO }  ${saludoMultilinea}`);

//Hola mundo !!! bien y tu; el mundo  !!! :O jejeje  hooooola pepe
//que estas haciendo aqui !!


///////////// Arrays 

let numeros = [1,2,3,4,5];  
let contador1 = Array.from(numeros, v => --v );  
let contador2 = Array.from(numeros, v => v+2 );

let letras = ["lim","map","pip"];  
let palabras = Array.from( letras, x => x+"a");

contador1.push(10);

console.log(numeros);  
console.log(contador1);  
console.log(contador2);  
console.log(palabras);

//[ 1, 2, 3, 4, 5 ]
//[ 0, 1, 2, 3, 4, 10 ]
//[ 3, 4, 5, 6, 7 ]
//[ 'lima', 'mapa', 'pipa' ]


///////// Metodos de Object

// Object.assign(obj,obj....)

let acelerar = {  
  velocidad: '10 km/h'
};
let caracteristica = {  
  color: 'rojo'
};
let rodamientos = {  
  ruedas: '4'
};

let carro = Object.assign(acelerar, caracteristica, rodamientos);  
console.log(carro);

//retorna un objeto compuesto de los otros objetos 
//{ velocidad: '10 km/h', color: 'rojo', ruedas: '4' }


//// Object.is(valor1, valor2)


let name1 = "angel";  
let name2 = "angel";

console.log(Object.is(name1,name2));  
// true 

let lastname2 = {apellido:"suescun"};  
let lastname1 = {apellido:"carvajal"};

console.log(Object.is(lastname1,lastname1));  
// true
console.log(Object.is(lastname1,lastname2));  
// false 




//creacion de Objetos 
let nombre  = 'Miguel';  
let persona = {  
  nombre,
  apellido: 'Suescun'
};
console.log(persona);  
// { nombre: 'Miguel', apellido: 'Suescun' }


let cocinar = {  
  preparar(ingredientes) {
    return ` Estas cosinando ${ingredientes.principal} con  ${ingredientes.secundario}`;
  }
}
console.log(cocinar.preparar({ principal:'Arroz', secundario:'Pollo' }));  
// Estas cosinando Arroz con  Pollo



////// Funciones anonimas 


let sumar = () => 5+7;  
console.log( sumar() )  
//12


let sumar1 = num => num + 2;  
console.log( sumar1(2) )  
// 4


let sumar2 = (a, b) => a + b;  
console.log( sumar2(2,3) );  
// 5


let sumar3 = (a, b) => {  
    let resultado = a + b ; 
    return `El resultado de la operacion es : ${resultado} `;
}

console.log(sumar3(5,8));  
// El resultado de la operacion es : 13



///////// Promesas 


function obtenerDatos(){  
    return new Promise(( resolve, reject) => {
        let num = 1; // = 0;
        setTimeout( ()=> {
            if ( num ===1 ){
                resolve({name:"angel",edad:3})
            }else{
                reject(new Error('Error al obtener los datos') )

            }
        }, 3000 ) 
    });
}



obtenerDatos()  
    .then(data => {
        console.log(data);
    })
    .catch(error => {
        console.log(error);
    });

// { name: 'angel', edad: 3 }

para realizar la prueba del codigo anterior, se crea un archivo con la extencion .js y ejecutando este comando .

babel-node archivo.js  

la documentación completa en la cual me base para realizar los códigos es esta
¿Qué es ECMAScript 6? para dominar este lenguaje o cualquier otro es aconsejable hacer micro códigos validar como funciona y modificarlos a cosas que relacionemos (carro, cocina, personas) con el fin de generar recordación. un gran sitio para documentarnos a fondo sobre javascript es el de developer.mozilla.org/ .

Casi se me olvida ya esta la disponible la ultima version de librarycheatcodes y aqui podemos ver un ejemplo del codigo anterior Codigo de ejemplo javascript 6