오늘은 자격증 필기 시험을 보고 온 후, Spread Operator와 유사한 Rest Operator을 추가 정리해보았다.
두 배열 array1과 array2가 주어졌을 때, 두 배열을 합친 새 배열 combinedArray를 스프레드 연산자를 사용하여 만들고, 결과를 출력하자.
const array1 = [1, 2, 3];
const array2 = [4, 5, 6];
const conbinedArray = [ ...array1, ...array2 ];
console.log(combinedArray); // [1, 2, 3, 4, 5, 6]
두 객체 obj1과 obj2가 주어졌을 때, 두 객체의 속성을 스프레드 연산자를 사용하여 병합한 새 객체 mergedObj를 생성하고 결과를 출력하자.
(단, 같은 이름의 키가 존재할 경우 obj2의 값을 우선하여 반영)
const obj1 = { name: "르탄이", age: 25 };
const obj2 = { name: "르순이", email: "rsoony@sparta.com" };
const mergeObj = {...obj1, ...obj2 }; // { name: '르순이', age: 25, email: 'rsoony@sparta.com' }
Spread operator와 유사하지만 사용방법이 다름. 나머지 연산자는 함수의의 매개변수에서 사용되거나, 객체 혹은 배열 리터럴에서 남은 부분을 하나의 변수로 그룹화할 때 사용.
함수에서 여러 인수를 배열로 그룹화
function sum(...numbers) {
return numbers.reduce((acc, current) => acc + current, 0);
}
console.log(sum(1, 2, 3, 4)); // 10
특정 속성을 제외한 나머지 속성들을 새 객체로 그룹화할 때 사용
const person = {
name: "John",
age: 30,
country: "USA",
occupation: "Developer"
};
const { country, ...rest } = person;
console.log(rest); // { name: "John", age: 30, occupation: "Developer" }
person 객체에서 password를 제외한 나머지 요소를 sampleObj 변수에 담아 분리해보자.
const person = { name: 'Young', age: 35, job: "developer", password: "1234" }
const { password, ...sampleObj } = person;
console.log(sampleObj) // => { name: 'Young', age: 35, job: "developer" }
오늘은 정처기 필기 시험을 보고 왔다. 보기 전까지는 조금 걱정을 했었는데, 생각보다 어렵지 않고 시간도 넉넉해서 괜한 걱정을 했다 싶었다. 가채점 결과도 합격! 어렵지는 않았지만 그렇다고 또 쉬운 난이도는 아니었다. 나는 기출문제만 이틀 동안 들여다 보고 와서 그렇게 느낀 것이었을 수도 있다. 하지만 자신이 전공자라면 나처럼 기출문제만 들여다 보아도 충분히 합격할 수 있을 것이라고 장담한다. 아는 내용들이 꽤 포함되어있을 것이다. 실기 시험까지 기간이 꽤 많이 남았다. 그 기간동안 잘 준비해서 실기까지 한번에 합격할 수 있으면 좋겠다.