(출처: MDN - functions)
- (간단히 말하자면) input을 넣으면, 정해진 절차를 거쳐서 기능을 실행한 후, output을 반환해주는 역할을 합니다.
- 즉, 내가 원하는 기능을 함수로 정의를 해놓으면, input을 바꿈으로써 각기 다른 output를 반환시킬 수 있습니다.
- 단순 반복적인 작업, 속된 말로 '노가다'를 하고 싶지 않습니다.
- 실수를 줄이고 싶습니다(실수는 사람이 하지 컴퓨터가 하는 것이 아니라고 믿습니다).
- 정해진 언어, 규칙으로 소통할 수 있는 수단으로써 활용하고 싶습니다.
- 예를 들어, 웹사이트에 로그인한 유저들을 반기는 문구를 알림창으로 띄우고 싶을 때,
alert("okclef님, 홈페이지 방문을 환영합니다!"); alert("wecode님, 홈페이지 방문을 환영합니다!"); alert("shyjo님, 홈페이지 방문을 환영합니다!");
라는 문구를 매번 일일이 타이핑할 수 없기에,
function welcomeMessage (username) { return alert(username + "님, 홈페이지 방문을 환영합니다!"); } welcomeMessage("okclef");
- 위와 같이 함수의 매개변수에 방문객의 이름만 끌어오게 한다면, 반복적인 작업을 피할 수 있습니다.
- 같은 내용의 알림창을 홈페이지가 아닌 블로그에서도 사용하고 싶을 경우, 함수 내 '홈페이지'라는 단어를 '블로그'로 바꿔주기만 하면 됩니다. 즉, 함수는 재사용성이 높으며, 유지 보수를 용이하게 해줍니다.
(참고: 유지보수하기 좋은 깔끔한(?) 코딩 기법)- 또한 같은 문장을 직접 타이핑할 때와는 달리, 오타가 발생할 일이 없습니다. 즉, 실수를 줄일 수 있습니다.
- welcomeMessage 라는 함수명과 함수에 선언된 기능을 통해 '이 함수는 환영 문구를 나타내는 함수이구나.' 라는 것을 비교적 쉽게 파악할 수 있습니다. 즉, 함수명과 함수를 잘 정의해놓았을 경우 코드의 가독성이 높아지고, 협업하는 개발자들과의 소통이 원활해질 수 있습니다.