Learn about Javascript(es6, es7) and future versions
- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import
- http://exploringjs.com/es6/ch_modules.html
- https://medium.freecodecamp.com/javascript-modules-a-beginner-s-guide-783f7d7a5fcc#.b592lxm37
- Resolve all promises
Promise.all([]);
- Return the first promisse in any romises
Promise.race([]);
This is new type, are immutable and unique
- Creating symbol
const foo = Symbol('name');
const bar = Symbol('name');
foo == bar // return FALSE
- Get propertySymbols
Object.getOwnPropertySymbol(obj);
Return
{value: any, done: boolean}
Element can be iterator
const example = "example";
const it = example[Sysmbol.iterator]();
it.next();
Run function in steps
- Creating add * in function name
- Yield is equal return but is possible continue the function after the yield
- Call the interator use .next()
function* getNames(){
yield 'Lukete';
yield 'Henrique';
}
const names = getNames();
names.next();
- Creating proxy
- params: obj, handler
const obj = {
name: 'Lukete',
age: 25
}
const proxy = new Proxy(obj, {
get(target, name){
console.log('Request name');
},
set(target, name, value){
console.log('Request name');
}
})
Is iterables
- Use size
let mySet = new Set(['lukete', 'henrique']);
mySet.size;
- Add element ignore equals values
let mySet = new Set(['lukete', 'henrique']);
mySet.add('souza');
- Delete element
let mySet = new Set(['lukete', 'henrique']);
mySet.delete('henrique');
- Verify if exists element
let mySet = new Set(['lukete', 'henrique']);
mySet.has('henrique');
- Get itarables element
let mySet = new Set(['lukete', 'henrique']);
mySet.values();
Only accept object, have equals functions in SET BUT weakset doesnt are iterable
- Creating weakset
let obj1 = {
name: 'lukete',
age: 25,
};
let obj2 = {
name: 'henrique',
age: 22,
};
let ws = new WeakSet([ob1, obj2]);
Key and Value, equal SET are iterable
- Creating
let m = new Map();
m.set('lukete', 25);
Small, one function. Helpt with manutenabilit. Namespacing local. Reusability
- Structure `import method from library;
- Forms to use import
-
*
call all methods -methodName
or{ methodName }
call specific method- use without { } IF export is UNIQUE.
-
as
define alias - Using alias
- use without { } IF export is UNIQUE.
-
import * as Alias from lib;
Alias.method();
import { methodName } from lib;
methodName();
- Any export* pear file
- import with same name
- import required use {}
export function name1(){};
export function name2(){};
function name3(){};
function name4(){};
export { name3, name4 }
- Only ONE export default pear file
- import with any name
- import without use {}
export default name;
- Style Guide is very important
- Husky
- Only run in changed files
- WeakMap
- garbacolletion delete automatic
- EXPORT
- Alias are optional.