Frontend/JavaScript
자바스크립트(2) - Rest, 클로저, 화살표 함수
leecom116
2022. 9. 26. 21:20
Rest 매개변수
부정인수. 마지막 파라미터만 Rest 매개변수가 가능하며, Rest 매개변수는 유사배열이다.
function add4(...args) {
let s=0;
for(let n=0; n<args.length; n++) {
s += args[n];
}
return s;
}
console.log( add4(1,2,3,4,5) ); // 15
클로저(Closures)
내부함수가 외부함수의 문맥(context)에 접근할 수 있는 것
function fun(x) { // 외부함수
let n=10;
// 내부함수(클로저)
function sub(y) {
return n+x+y; // 외부함수의 변수나 인수 접근 가능
}
return sub(3); // 외부함수 안에서 내부 함수 호출
}
console.log( fun(2) ); // 15
위에서 내부함수 sub()는 외부함수 fun()의 변수인 n에 참조가 가능하다.
그러므로 fun(2)는 내부함수 sub의 리턴값인 n(10) + x(2) + y(3) = 15 의 결과값이 나오게 된다.
화살표 함수
기존 함수 표현식보다 더 간결한 문법으로 표현한 함수
// 화살표 함수(arrow function)
var sub2 = (args) => { return args.length; };
// 파라미터가 하나만 있는 경우에는 주변 괄호를 생략할 수 있다.
var sub3 = args => { return args.length; };
// 화살표함수의 유일한 문자로 'return'일때 'return'과 중괄호({})를 생략할 수 있다.
var sub4 = args => args.length;