ES6 에서 도입된 spread
const fruit = ['apple', 'banana', kiwi'];
const anotherAnimals = [...fruit, 'mango'];
Rest
const fruit = {
name: 'banana',
taste: 'sweet',
color: 'yellow'
};
const { color, ...rest } = fruit;
console.log(color); -> yellow
console.log(rest);
-> { taste: 'sweet',
color: 'yellow'}
Scope
const value = 'hello!';
function myFunction() {
console.log('myFunction: ');
console.log(value);
}
function otherFunction() {
console.log('otherFunction: ');
const value = 'bye!';
console.log(value);
}
myFunction(); -> 'hello'
otherFunction(); -> 'bye'
console.log('global scope: ');
console.log(value); -> hello'
Hoisting
:아직 선언되지 않은 함수/변수를 "끌어올려서"사용 한다.
:하지만, 자바스크립트에서만 가능하니깐 왠만하면 사용하지 말라!
myFunction();
function myFunction() {
console.log('hello world!');
}