-
Notifications
You must be signed in to change notification settings - Fork 1
EcmaS Versions
Carlos Jaramillo edited this page Mar 20, 2020
·
7 revisions
function newFunction(name, age, country) {
var name = name || 'carlos';
console.log(name);
}
// ES6
function newFunction(name = 'carlos', age = '23', country = 'USA') {
console.log(name);
}
newFunction();
newFunction('José', '24', 'CO');let hello = "Hello";
let world = "World";
// past
let epicPhrase = hello + ' ' + world;
// es6
let epicPhrase2 = `${hello} ${world}`// past
let lorem = "line 1 \n"
+ "line 2";
// es6
let lorem2 = `Line 1
Line 2`let person = {
'name': 'Antonio',
'age': '28',
'country': 'Ambato'
};
console.log(person.name, person.age, person.country);
// es6
let {name, age, country} = person
console.log(name, age, country);let team1 =['Oscar', 'Julian', 'Ricardo'];
let team2 = ['Valeria', 'Yessenia', 'Camila'];
// es6
let education = ['David', ...team1, ...team2];{
var globalVar = "Globarl var";
}
{
let globalLet = 'Global let'
const AA = 'xd'; // cannot be reassigned
console.log(globalLet);
console.log(AA);
}
console.log(AA); // not exist
console.log(globalLet); // not exist
console.log(globalVar);let name = 'Oscar';
let age = 32;
const obj = {
name: name,
age: age
};
console.log('Before ES6 -> ', obj);
// es6
const objES6 = { name, age };
console.log(`After ES6 -> `, objES6);const names = [
{ name: 'Carlos, age: 23 },
{ name: 'Yesica', age: 27 }
];
let listOfNames = names.map(function(item) {
console.log('Before ES6 -> ', item.name);
});
// es6
let listOfNamesES6 = names.map(item => console.log(`After ES6 -> ${item.name}`));
const listOfNamesES6 = (name, age, country) => {
...
}
const listOfNamesES6 = name => {
...
}const helloPromise = foo => {
return new Promise((resolve, reject) => {
if (foo) {
resolve('Hey!');
} else {
reject('Upss!');
}
});
};
const foo = false;
helloPromise(foo)
.then(response => console.log('response -> ', response))
.then(() => console.log('message -> Hello World!'))
.catch(error => console.log('error -> ', error));class Calculator {
constructor() {
this.valueA = 0;
this.valueB = 0;
}
sum(valueA, valueB) {
this.valueA = valueA;
this.valueB = valueB;
return this.valueA + this.valueB;
}
}
const calc = new Calculator();
console.log(calc.sum(2, 2));import { x } from './xd';
export x;function* helloWorld() {
if (true) {
yield 'hello, ';
}
if (true) {
yield 'world';
}
}
const generatorHello = helloWorld();
console.log(generatorHello.next().value); // hello,
console.log(generatorHello.next().value); // world
console.log(generatorHello.next().value); // undefined
// like fibonaccilet numbers = [1,2,5,6,7,3];
if(numbers.includes(7)){
console.log("Si se encuentra el valor 7")
}
else{
console.log("No se encuentra");
}let base = 4;
let exponente = 3;
let resultado = base ** exponente;
console.log(resultado);const myPromise = () => {
return newPromise((resolve, reject) => {
(true) ? setTimeout(() => resolve('Ok!'), 1000)
: reject(new Error('Opsss!'))
})
}
// es6
myPromise()
.then(res => console.log(res))
.catch(err => console.error(err))
// es7
const foo = async () => {
try {
const res = await myPromise()
console.log(res)
} catch (err) {
console.log(err)
}
}
foo()const data = {
frontend: "Carlos",
backend: "Daniela",
design: "Gabriela"
}
const entries = Object.entries(data);
console.log(entries);
console.log(entries.length);
const values = Object.values(data);
console.log(values);
console.log(values.length);const hello = 'hello'
console.log(hello.padStart(7,'hi'))
console.log(hello.padEnd(12,'----'))
console.log('food'.padEnd(12, '----'))const data = {
frontend: "Carlos",
backend: "Daniela", // this is trailing comma
}const obj = {
name: 'Oscar',
age: 32,
country: 'MX'
};
let { name, ...extraInfo } = obj;
console.log(`name: ${name}`);
console.log(`additional information: `, extraInfo);
let { country, ...nameAndAge } = obj;
console.log(`name and age: `, nameAndAge);const person = {
name: 'Oscar',
age: 32
};
const personInformation = {
...person,
country: 'MX'
};
console.log(`personInformation: `, personInformation);const helloWorld = () => {
returnnew Promise((resolve, reject) => {
true
? setTimeout(() => {
resolve('Hello World!');
}, 3000)
: reject(newError('Test Error'));
});
};
helloWorld()
.then(result => console.log('result -> ', result))
.catch(err => console.log('err -> ', err))
.finally(() => console.log('finalizó'));// group
const regexData = /([0-9]{4})-([0-9]{2})-([0-9]{2})/;
const match = regexData.exec('2018-04-28');
const year = match[1];
const month = match[2];
const day = match[3];
console.log('Date -> ', year, month, day);let list = [1, 2, 3, [1, 2, 3, [1, 2, 3,]]]
console.log(list.flat()); // [1, 2, 3, 1, 2, 3, [1, 2, 3]]
console.log(list.flat(2)); // [1, 2, 3, 1, 2, 3, 1, 2, 3]
console.log(list.flat().flat()); // [1, 2, 3, 1, 2, 3, 1, 2, 3]
console.log(list.flat(Infinity)); // [1, 2, 3, 1, 2, 3, 1, 2, 3]var arr1 = [1, 2, 3, 4];
arr1.map(x => [x, x * 2]); // return array with arrays
arr1.flatMap(x => [x, x * 2]); // Flat arraylet string = ' HELLO';
console.log(string.trimStart());
// TRIM END
let string2 = 'HELLO ';
console.log(string2.trimEnd());// es7
try { }
catch (error) { console.log(error) }
// es10
// no need send error to use in catch
try { }
catch { console.log(error) }let entries = [['nombre', 'jesus'], ['edad', 22]]
obj = Object.fromEntries(entries)
console.log(entries)
console.log(obj)let s = Symbol('Esta es la descripcion del simbolo')
console.log(s.description);Writed by TC39
Stages Idea (sage 0) -> Proposal (1) -> Draft (2) -> Candidate (3) -> Ready (4)
Support in each version of node (click here)