개발 공부/자바스크립트

[엘리의 드림코딩 JS 보충] 16. 함수 정의, 호출, 그리고 콜백 함수

5묘 2022. 12. 6. 21:59

https://youtu.be/-cAPq25P-68

함수에 대해 소개하는 아주 기초적인 부분이지만, 혹시나 내가 놓친 부분이 있을 수 있는데다 기초를 잘 이해하는 것이 가장 중요하니 넘기지 않고 들었다.

// 가령 똑같은 기능을 여러번 반복하는 코드를 작성한다 해보자.
const num1 = 1;
const num2 = 2;
const result = num1 + num2;
console.log(result);

const num3 = 1;
const num4 = 2;
const result2 = num3 + num4;
//... 이렇게 계속 쓸 순 없잖아?
// 그러니까 특정 기능을 재사용할 수 있는 함수로 만드는거야!

function add(a, b) { // 함수 호출 전까지 a,b는 undefined.(스코프랑 연결)
  return a + b;
};

const sum = add(3, 4);

함수도 객체이기 때문에 복사 시 call by reference가 된다.

엘리의 드림코딩

function add(num1, num2) {
  return num1 + num2;
}

function divide(num1, num2) {
  return num1 / num2;
}

function surprise(operator) { //operator 인자에 add 함수의 reference 가 전달된다.
  const result = operator(1, 2); // === add(1, 2), divide(1, 2)
  console.log(result);
}

surprise(add); // 함수 호출은 함수 선언부에서 하자.
surprise(divide);