Programming/혼공JS 10기.js

혼자 공부하는 자바스크립트 [4주차]

hyuckee 2023. 7. 29. 18:28
반응형

함수

객체 지향 프로그래밍에서 중요한 기능 중 하나다.

함수란, 입력을 받고 특정한 작업을 수행한 후 결과를 출력하는 기능이다.

 

여기서 입력값은 매개변수,
결과값은 리턴값이라고 부른다.

함수는 코드의 집합이라고도 한다.
임의로 함수를 만들 수 있는데,
그 내용들은 기존의 함수들로 이루어지기 때문이다.

 

그렇다면 함수는 굳이 왜 만드는 걸까?

 

함수로 코드를 정의해 놓으면
반복 작업을 피할 수 있고
그만큼 코드의 가독성이 좋아진다.
함수만 수정하면 되기 때문에 유지보수가 적다는 장점도 있다.

 

선언적 함수와 익명 함수

선언적 함수는 다음과 같이 생성한다.

function 함수이름(매개변수) {
    실행문
    실행문
    return 리턴값
}

  이러한 선언적 함수는 기능이 많아지거나
함수를 덮어써야 하는 경우
처리과정에 대해 혼돈이 오기 쉽다.

따라서 일반적으로 함수이름을 작성하지 않는 익명 함수를 사용한다.
let 함수이름 = function () { };

매개변수는 ','로 원하는 만큼 받을 수 있고
필요에 따라 리턴값을 작성해 출력시킬 수 있다.

기본미션

 

매개변수

입력값을 배열로 받을 수도 있다.
a, b, ...items의 매개변수가 있다면
처음 2개는 a와 b에 할당되고
나머지 입력값들은 모두 items에 배열로 저장된다.

 

만약 배열로 잘 할당됐는지 확인하려면
typeof 연산자 대신에
Array.isArray() 메소드를 활용하는 것이 좋다.
배열은 object(객체)라는 결과가 나오기 때문이다.


만약 배열을 매개변수로 받는다면,
...을 이용하면 배열을 전개하여 받지만
그렇지 않는다면 배열에 배열이 들어간 상태가 된다.

설정한 매개변수보다 입력값이 적은 경우가 있다.
이러한 경우를 대비하여 매개변수에 기본값을 설정할 수 있다.
입력한다면 입력값이, 그렇지 않다면 기본값이 들어가게 된다.

함수 이름(매개변수, 매개변수=기본값, 매개변수=기본값)


콜백 함수

매개변수로 함수를 입력받아
함수를 호출하는 함수를 콜백 함수라고 한다.

즉, 함수가 함수를 실행시키는 형태다.

이러한 콜백 함수를 활용하는 함수로는
forEach(), map(), filter() 등이 있다.

 

화살표 함수

단순한 형태의 콜백함수를 쉽게 입력하기 위해
만들어진 함수 생성 방법이다.

(매개변수) => 리턴값

위와 같은 형태로 간결하게 콜백함수를 작성할 수 있다.

화살표함수를 사용하면,
어떤 메소드가 리턴하는 값을 기반으로
함수를 줄줄이 사용하는 메소드 체이닝을 쉽게 작성할 수 있다.

728x90