TIL - 39

wlgus5977·2021년 6월 17일
0

Today I Learned

목록 보기
12/42

ES6 에서 도입된 spread

  • spread: 펼치다 라는 의미
  • 배열과 객체에 사용가능
  • ...변수이름
const fruit = ['apple', 'banana', kiwi'];
const anotherAnimals = [...fruit, 'mango'];

Rest

  • 객체, 배열, 함수의 파라미터 사용가능
  • spread 와 다르다 ? (o/x)
    - 다르다 ! 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

  • Global Scope: 코드의 모든 범위
  • Function Scope: 함수 안에서만
  • Block Scope: if, for, switch 등 특정 블록 내부에서만
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!');
}
profile
Why not?

0개의 댓글