JS 함수2

su-mmer·2022년 10월 31일
0

Rest연산자 ...

인수의 마지막에 위치한다.
자동으로 남은 모든 인수를 가진다.
const sumUp = (a, b, ...numbers)
sumUp(1, 5, 10, -3, 6, 10) -> a=1, b=5, ...numbers=10, -3, 6, 10

arguments 키워드

for(const num of arguments): function 키워드를 사용할 수 있는 함수 내에서만 사용 가능
배열과 비슷한 객체 제공(실제 배열은 아님)
rest 연산자가 생기기 전에 사용하던 방법

콜백 함수

return 대신 함수를 사용할 수 있다.

const sumUp = (resultHandler, ...numbers) => {
    const validateNumber = (number) => {
        return isNaN(number) ? 0 : number;
    };

    let sum = 0;
    for (const num of numbers) {
        sum += validateNumber(num);
    }
    resultHandler(sum);
};

const showResult = (result) => {
    alert('The result after addign all numbers is: ' + result);
}

sumUp(showResult, 1, 4, 'fdsa', -3, 6, 10);

sumUp으로 showResult를 호출하여 인자로써 전달하고 sumUp에서 sum을 showResult로 인자로써 전달한다.
js에는 신기한 기능이 정말 많다,,

bind() 함수

함수를 호출할 때 combine(showResult.bind(this, 'result is: '), 'ADD', 1, 5);식으로 호출하게 되면 새로운 함수, 새로운 참조가 생성된다.

  • this 인자 필수
  • 받은 인자에 따라 새로운 함수를 만들어낸다.
  • 함수의 인자를 '사전 구성'하려는 상황에서 함수를 직접 호출하지 않을 때

0개의 댓글