function printMe({ name, age, email } = {}) { console.log(`이름: ${name}, 나이: ${age}, 이메일: ${email}`); }const me = {
name: '재현',
age: 25,
email: 'jaehyun@something.com'
};
printMe(me);
...를 붙이면 사용자가 제공한 모든 매개변수를 배열안에 넣도록 지정.rest만 존재 가능rest는 반드시 함수 정의의 마지막 매개변수function 함수2(a, b, ...c){ console.log(c) return Math.max(...c) }함수2('hello', 'world', 10, 20, 30, 40)
function 함수2([a, b], ...c){
console.log(a)
console.log(b)
console.log(c)
}
함수2([1, 2], 10, 20, 30, 40)
… 은 spread, 함수의 마지막 매개변수에 사용되는 … 은 rest 문법으로 인식function 함수3(a=10, b=20, c=30){ return a + b + c }console.log(함수3())
console.log(함수3(100))
console.log(함수3(100, 200))
console.log(함수3(100, 200, 300))console.log(함수3(c=1000)) // 1030이 되어야 하는거 아니에요?
// 1050console.log(함수3(c=1000, a=2000)) // 3020이 되어야 하는거 아니에요?
// 3030
// 값이 순서대로 들어갔습니다.
const func1 = function(){ var a = 1; var b = 2; console.log(a + b); };var a = 20;
func1();
스코프의 종류