반응형
본 게시글은 생활코딩 강의를 듣고 정리한 글입니다
개념
함수는 데이터를 전달받아 처리한 후 결과를 출력하는 코드 블록이다
예시를 자판기로 들어보자
ex)
우리는 돈을 넣고
음료수 버튼(매개변수; parameter, 인자; argument)을 누르면
자판기(함수; function)는 (프로그램 코드를 통해) 그 음료수를 뽑아준다(출력; return)
물론 전달받는 데이터 없이, 결과없이 작업을 수행하기도 한다
구성은 다음과 같다
// 함수 선언
function 함수이름 ([arg1, ..., argn]) {
...프로그램 코드...
return 문
}
// ex
function add123() {
document.write(1 + 2 + 3);
}
// 함수 호출
함수이름();
// ex
add123();
여느 언어들과 형태가 크게 다르지 않아 금방 받아들일 수 있다고 생각한다
구성에 대해서는 다음 포스팅에 다뤄보도록 하자
인자(argument)의 유무가 반복문과의 큰 차이점인 것 같다
변수를 선언할 때 var 키워드를 표시한 것처럼, function 키워드를 사용한다는 것이 특징이다
장점
함수를 사용할 때의 장점을 살표보도록 하자
코드의 유지보수
첫 번째로, 코드의 유지보수가 쉽다
같은 코드를 여러 개 복사해서 코드를 만들어도 동일하게 동작은 하게 된다
하지만 이를 1억 개를 복사한다고 가정하자
코드를 수정해야 할 때, 1억 개를 직접 바꾸는 것은 불가능하고
바꾸지 말아햐 할 것도 바꿀 가능성이 있고
같은 로직을 유지하며 수정할 것이라는 확신이 없다
함수를 이용하면 이 같은 경우를 방지할 수 있다
코드의 길이
두 번째로, 위와 같은 상황에서 코드의 길이를 상당히 압축시킬 수 있다
1억 개의 같은 코드를 딱 한 번만 써줌으로써 웹페이지의 크기를 줄일 수 있고, 전송할 때 훨씬 유리하다
같은 코드를 사용할 때의 논리 파악 가능
마지막으로, 같은 코드를 실행할 때에 거시적으로 같은 논리의 코드임을 알 수 있다
또한 함수에 적절한 이름을 붙여주면 이 코드가 어떤 일을 하는지 한 눈에 알 수 있다
반응형