TIL6: Destructuring Assignment / Rest Parameter and Spread Operator / Shorthand Syntax

  • Destructing Assignment(분해 할당)
/* 배열 분해 */
const array = ['hello', 'world', 'good', 'bye'];
const [first, second] = array;
console.log(first, second);  // hello world
/* 전달인자 분해 */
function foo([first, second]) {
  console.log(second, first);
}
foo(array); // world hello
/* 객체 분해 */
const student = { name: 'Charlie', major: 'software engineering' };
const { name } = student;
console.log(name);  // Charlie
  • Rest Parameter(나머지 매개변수)와 Spread Operator(전개 연산자)
/* 배열 분해 */
const array = ['hello', 'world', 'good', 'bye'];
const [start, ...rest] = array;
console.log(start); // hello
console.log(rest);  // ['world', 'good', 'bye']
/* 객체 분해 */
const student = { name: 'Charlie', major: 'software engineering' };
const { name, ...args } = student;
console.log(name); // Charlie
console.log(args);  // { major: 'software engineering' }
  • Shorthand Syntax(단축 문법)
/* 객체 단축 문법 */
const name = 'Charlie';
const age = 43;
const person = {
  name,
  age,
  level: 'Junior',
};
console.log(args);
/*
{
  name: 'Charlie',
  age: 43,
  level: 'Junior',
}
*/

코드 및 자료 출처: 코드스테이츠(CodeStates)

좋은 웹페이지 즐겨찾기