- Async functions
- Arrow functions
const foo = (x, y) => { return x + y; };
- Classes
- const
const foo = "foo";
- Default parameters
const foo = (x, y = 1) => { return x + y; };
- filter
[1, 2, 3, 4, 5].filter(n => n < 3); // [1, 2]
- for-of loop
for (let item of items) {console.log(item)}
- import / export
export default defaultExport;
import defaultExport from "module-name";
export function exportFunction(){...};
import { exportFunction } from "module-name";
- let
let foo = "foo";
- Promises
const promise1 = new Promise(function(resolve, reject) {
setTimeout(function() {
resolve('foo');
}, 300);
});
promise1.then(function(value) {
console.log(value); // foo
});
- reduce
const array1 = [1, 2, 3, 4];
const reducer = (accumulator, currentValue) => {
return accumulator + currentValue;
}
console.log(array1.reduce(reducer)); // 10
- Set
const set1 = new Set([1, 2, 3]);
console.log(set1.has(1)); // true
console.log(set1.has(2)); // true
console.log(set1.has(3)); // true
set1.add(4)
console.log(set1.has(4)); // true
set1.delete(4)
console.log(set1.has(4)); // false
console.log(set1.size); // 3
- Spread
function sum(x, y, z) {
return x + y + z;
}
const numbers = [1, 2, 3];
console.log(sum(...numbers)); // 6
- Template literals (Template strings)