…
function showName(name) {
console.log(name);
};
showName('Mike');
showName('Mike', 'Tom');
showName();
arguments?
- 함수로 넘어 온 모든 인수에 접근
- 함수 내에서 이용 가능한 지역변수
- length / index
- Array 형태의 객체
- 배열의 내장 메소드 없음(forEach, map)
function showName(name) {
console.log(arguments.length);
console.log(arguments[0]);
console.log(arguments[1]);
}
showName('Mike', 'Tom');
function showName(...names) {
console.log(names);
}
showName();
showName('Mike');
showName('Mike', 'Tom');
----------------------------------------------
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);
function add(...numbers){
let result = numbers.reduce((prev, cur) => prev += cur);
console.log(result);
};
add(1, 2, 3);
add(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
function User(name, age, ...skills) {
this.name = name;
this.age = age;
this.skills = skills;
}
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
let arr1 = [1, 2, 3];
let arr2 = [4, 5, 6];
let result = [...arr1, ...arr2];
console.log(result);
let result2 = [0, ...arr1, ...arr2, 7, 8, 9];
console.log(result2);
--------------------------------------------
let user = {name: 'Mike'}
let mike = {...user, age: 30}
console.log(mike);
let arr= [1, 2, 3];
let arr2 = [...arr];
let user = {name: 'Mike', age: 30};
let user2 = {...user};
user2.name = "Tom";
console.log(user.name);
console.log(user2.name);
--------------------------------------------
let arr1 = [1, 2, 3];
let arr2 = [4, 5, 6];
arr2.forEach((num) => {
arr1.unshift(num);
});
console.log(arr1);
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 = Object.assign({}, user, info, {skills: []});
fe.forEach((item)=>{
user.skills.push(item);
});
lang.forEach((item)=>{
user.skills.push(item);
});
console.log(user);
user = {
...user, ...info, skills: [...fe, ...lang]
};
console.log(user);