코드스테이츠 14일차

열공하는바보·2023년 4월 28일
0

spread 문법

주로 배열을 풀어서 인자로 전달하거나, 배열을 풀어주는 문법

function sum(x, y, z) {
  return x + y + z;
}
const numbers = [, , ];
sum(...numbers)

rest 문법

파라미터를 배열의 형태로 받아서 사용할 수 있습니다. 파라미터 개수가 가변적일 때 유용합니다.

function sum(...theArgs) {
 return theArgs.reduce((previous, current) => {
   return previous + current;
 });
}

참고: spread 문법은 기존 배열을 변경하지 않으므로, 얕은 복사

객체에서 사용하기

let obj = { foo: 'bar', x:  };
let obj = { foo: 'baz', y:  };

let clonedObj = { ...obj };
let mergedObj = { ...obj, ...obj };
function myFun(a, b, ...manyMoreArgs) {
  console.log("a", a);
  console.log("b", b);
  console.log("manyMoreArgs", manyMoreArgs);
  myFun("one", "two", "three", "four", "five", "six");
}

spread syntax는 iterable 한 모든 것의 (대표적으로 문자열, 배열) 요소를 "펼쳐"주는 문법을 의미합니다.

ES6가 등장하면서 함수를 정의하는 방법이 하나 더 생겼습니다. 바로 화살표 함수(arrow function)입니다. 함수표현식으로 함수를 정의할 때 function 키워드 대신 화살표(=>)를 사용합니다.

// 화살표 함수
const multiply = (x, y) => {
	return x * y;
}

이처럼 화살표 함수를 사용하면 함수표현식으로 함수를 정의할 때보다 간략하게 함수를 정의할 수 있습니다. 또한 화살표 함수로 함수를 정의할 때 생략할 수 있는 몇 가지 규칙이 있습니다. 그 규칙들을 알아보겠습니다.
. 매개변수가 한 개일 때, 소괄호(())를 생략할 수 있다.
. 함수 코드 블록 내부가 하나의 문으로 구성되어 있다면 중괄호({})를 생략할 수 있다. 이때 코드 블록 내부의 문이 값으로 평가될 수 있으면 return 키워드를 생략할 수 있다.
const squre = x => x * x

profile
안녕하세요

0개의 댓글