Rest parameters
Sprad syntax
//인수 전달
function showName(name){ //(name) 인수 개수 제한 없음
console.log(name);
}
showName('Mike'); //Mike
showName('Mike','Tom'); //Mike
showName(); //undefined
Mike
Mike
자바스크립트에서 함수에 넘겨주는 인수의 개수는 제약이 없다
함수의 인수를 얻는 방법
- arguments 로 접근 (화살표 함수에는 arguments가 없다)
- 나머지 매개 변수를 사용
arguments
/* arguments */
function showName(name){
console.log(arguments.length); //2
console.log(arguments[0]); //Mike
console.log(arguments[1]); //Tom
}
showName('Mike','Tom');
함수로 넘어 온 모든 인수에 접근
함수 내에서 이용 가능한 지역 변수
length / index
Array 형태의 객체
배열의 내장 메서드 없음 (forEach, map)
arguments 객체는 Array 가 아니다 Array와 비슷하지만,
length 빼고는 pop() 과 같은 어떤 Array 속성도 없다.
그러나 실제 Array로 변환할 수 있다
나머지 매개변수 (Rest parameters)
/* 나머지 매개변수 Rest parameters */
function showName(...names){ //점 ...을 찍고 뒤에 배열 이름을 정해준다
console.log(names);
}
showName(); // []
showName('Mike'); //['Mike']
showName('Mike','Tom'); //['Tom']
나머지 매개변수 전달받은 모든 수를 더하기
/*
나머지 매개변수 전달받은 모든 수를 더하기
*/
function add(...numbers){
//numbers는 배열이므로 length가 있을 것이다 따라서 for문 사용 가능
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
나머지 매개변수. user 객체를 만들어주는 생성자 함수 만들기
/*
나머지 매개변수. user 객체를 만들어주는 생성자 함수 만들기
*/
function User(name,age, ...sikll){
this.name = name;
this.age=age;
this.sikll=sikll;
}
const user1 = new User('Mike', 30 , 'html', '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);
전개 구문 (Spread syntax) : 배열
/* 전개 구문 (Spread syntax) : 배열 */
let arr1 = [1,2,3];
let arr2 = [4,5,6];
let result = [...arr1, ...arr2];
console.log(result);
[1,2,3,4,5,6]
전개 구문 (Spread syntax) : 객체
/* 전개 구문 (Spread syntax) : 객체 */
let user = {name:'Mike'}
let mike = {...user, age:30}
console.log(mike); //{name: 'Mike', age: 30}
전개구문 arr1을 [4,5,6,1,2,3] 으로 만들기
/*
전개구문 arr1을 [4,5,6,1,2,3] 으로 만들기
*/
let arr1=[1,2,3];
let arr2=[4,5,6];
/* arr2.reverse().forEach(num => {
arr1.unshift(num)
}); */
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);
728x90
'Dev. > JavaScript' 카테고리의 다른 글
동기와 비동기에 대한 간단한 이해 (0) | 2022.07.29 |
---|---|
Javascript :: ES6 문법 예시 문제 (0) | 2022.07.20 |
Javascript 문법 정리 (0) | 2022.07.18 |
JavaScript :: 구조 분해 할당 (0) | 2022.07.15 |
JavaScript :: Symbol (0) | 2022.07.15 |
댓글