javascript-18: 나머지 매개변수, 전개구문
나머지 매개변수 / 전개구문
1. 나머지 매개변수
- 호출할때 인수를 초과해도(설정값 만큼만 호출됨) 상관없고, 아예 안넣어도 상관없음(undefined)
- 함수에 인수를 얻는 방법 : arguments , 나머지 매개변수
Q. 전달받은 모든 수를 더해야할때?
function add(...numbers) {
let result = 0;
numbers.forEach((num) => (result += num));
console.log(result);
}
add(1,2,3);
add(1,2,3,4,5,6,7,8,9,10);
==> 6 , 55
Q. USER객체를 만들어주는 생성자 함수 만들기
function User(name, age, ...skills) {
this.name = name;
this.age = age;
this.skills = skills;
}
const user1 = new User('Mike', 30, 'css')
const user2 = new User('Tom', 20, 'Js','React')
const user3 = new User('Jane', 10, 'English')
console.log(user1);
console.log(user2);
console.log(user3);
2. 전개구문(Spread syntax) : 배열
* 중간에 넣는것도 가능
* 객체도 가능/ user2의 이름을 바꿔도 user1에 영향이 없음. 별개의 user2를 복제한것.
arr1을 [4,5,6,1,2,3]으로 만들기
let arr1 = [1, 2, 3];
let arr2 = [4, 5, 6];
- reverse , unshift이용
arr2.reverse().forEach(num => {
arr1.unshift(num);
})
console.log(arr1);
- 전개구문 이용
arr1 = [...arr2, ...arr1] console.log(arr1);
객체 전개구문 이용
let user = {name: "Mike"};
let info = {age: 30};
let fe = ["JS", "React"];
let lang = ["Korean", "English"];
user = {
...user,
...info,
skills: [...fe, ...lang],
};
console.log(user);
댓글남기기