함수는 일련의 코드 블록으로, 특정 작업을 수행하는 기능을 정의합니다. 함수는 특정한 입력을 받아서 원하는 결과를 출력하는 것이 일반적입니다.
왜 사용하는가는 번들링된 자바스크립트 파일을 열어보시면 바로 이해하실수 있습니다. 보통 한 페이지에 함수, 변수, 객체 등등이 한꺼번에 들어 있어서 사람이 보기에는 굉장히 힘듭니다.
함수 만들기 [정의]
함수를 정의하기 위해서는 function 키워드를 사용합니다.
function greeting(name) {
console.log('Hello, ' + name + '!');
}
함수 사용하기 [호출]
함수를 호출하기 위해서는 함수 이름과 인자를 전달합니다.
greeting('John');
함수 결과 사용하기[반환값]
함수에서 값을 반환하기 위해서는 return 키워드를 사용합니다.
function add(a, b) {
return a + b;
}
const result = add(1, 2);
console.log(result);
함수 만드는 방법들
- 함수 선언문
function 키워드를 사용하여 함수를 정의합니다. 함수 선언문은 함수가 선언되기 이전에도 호출될 수 있습니다
function add(a, b) {
return a + b;
}
- 함수 표현식
함수 표현식은 변수가 선언된 이후에만 호출할 수 있습니다.
const add = function(a, b) {
return a + b;
};
- 화살표 함수
ES6에서 도입된 새로운 함수 정의 방법입니다. 화살표 함수는 function 키워드 대신 화살표(=>)를 사용하여 함수를 정의합니다.
const add = (a, b) => {
return a + b;
};
- 함수 생성자
new 연산자를 사용하여 함수 객체를 생성하는 방법입니다. 함수 생성자는 일반적으로 잘 사용되지 않습니다.
const add = new Function('a', 'b', 'return a + b');
함수는 왜 사용하는가?
코드의 재사용성을 높이고, 가독성을 향상시키며, 유지보수 용이성을 높이고, 코드를 구조화하며, 함수형 프로그래밍을 구현하기 용이하기 때문입니다.
- 코드 재사용 : 한번 만든 코드를 여러 곳에서 반복해서 사용할수 있습니다.
함수를 사용하면 코드를 재사용할 수 있습니다. 함수를 여러 곳에서 호출하여 동일한 코드를 반복적으로 작성하지 않고도, 코드의 재사용성을 높일 수 있습니다.
- 가독성 향상 : 동일한 코드가 함수를 통해 적어져서 양이 줄고 코드가 뭉쳐져서 하는 일을 함수명으로 알기 쉽게 바꿀수 있습니다.
함수는 코드의 가독성을 향상시키는 데 중요한 역할을 합니다. 함수는 특정 작업을 수행하는 코드 블록으로, 함수 이름을 통해 코드의 의도를 명확하게 전달할 수 있습니다.
-유지보수 용이성 : 코드 재사용과 아울러 여러곳에 반복적으로 쓰여진 코드를 다 고치는것 보다 집중되어 있는 함수 내용만 고치면됩니다. 그러나 연결된곳의 여파는 누가, 어떻게 확인할까요?
함수를 사용하면 코드의 유지보수 용이성을 높일 수 있습니다. 함수는 일정한 작업을 수행하는 코드 블록으로, 이러한 코드 블록을 함수로 정의하면 해당 함수를 수정하면 모든 호출자가 수정된 코드를 사용하게 됩니다.
- 코드 구조화 : 함수를 사용하여 코드를 작성하면, 코드를 논리적인 블록으로 구성할 수 있습니다. 이러한 구조화는 코드를 이해하고 수정하기 쉽게 만듭니다.
- 함수형 프로그래밍 : 함수형 프로그래밍은 상태 변이를 최소화하여 코드를 안정적으로 만드는 프로그래밍 패러다임입니다. 함수는 입력값에 대한 출력값을 반환하는 순수 함수로 작성하여, 상태 변이를 최소화할 수 있습니다.