복잡한 문제를 해결하기 위해 작고 간단한 문제를 먼저 해결하는 방법을 택하는데, 이때 함수는 작업을 하는 하나의 작업 단위,
작은문제를 뜻한다.
함수의 역할
- 코드의 묶음
- 기능의 단위
- 입력과 출력간의 매핑
- return을 통한 값 반환
함수의 사용방법
- 함수 선언하기
함수 선언문
function calculator(num1,num2){ // 키워드(function)함수명(calculator)(매개변수1, 매개변수2)
let result = num1 + num2; // 함수 내부 실행 코드
return result // return 할 값 result
}
함수를 선언해야 사용이 가능하다. 선언하는 방법은 위와 같다. 매개변수들인 num1, num2 는 선언이 되어진 상태로 들어오는 것.
하지만 result는 선언이 되어진 것이 아니기 때문에 선언을 해야 사용이 가능하다.
함수 표현식
let calculator = function(num1, num2){ // let 함수명(calculator) = 키워드(function)(매개변수1, 매개변수2)
let result = num1 + num2; // 함수 내부 코드
return result // return 할 값 result
}
함수표현식을 사용하는 방법은 위와 같다. 다른 점은 변수에 함수를 할당하는것과 같이 사용한다는 것.
*함수는 호이스팅 방식으로 코드를 차례대로 읽는 것이 아니라 코드를 읽기 전 함수가 먼저 저장된다.
따라서 뒤에서 쓸 함수가 미리 저장되어 혼란을 일으키는 경우가 있다. 호이스팅의 영향을 받지않고 코드가 함수표현식 까지 읽어 내려졌을 때
함수를 사용가능하게 하고 싶다면 함수표현식을 쓴다.
2. 함수 호출하기
- 함수는 호출이 되어야만 자신의 역할을 할 수 있다. 함수를 사용한다는 것은 특정한 코드의 묶음을 호출한다는 것.
console.log(calculator(7,9)) // num1(7) + num2(9) = 16 의 값이 리턴되어 보여진다.
* 이 때 매개변수는 함수 안에서만 사용이 가능하다. 밖에서는 선언된 상태가 아닌 것.
또한, 매개변수의 개수는 여러개여도 무관하다. 개수에 맞는 전달인자만 주어지면 차례로 전달된다.
하지만, 매개변수의 수가 더 많을 때 맞지 않는 개수의 인자들은 undefined형태가 되며 오류가 나지는 않는다.
3. return (반환 값)
- 함수 내부의 코드가 진행이 되다가 return을 만나면 함수는 종료가 된다.
(return 뒤에는 코드가 있어도 진행되지 않음)
- 리턴문에 작성된 코드는 함수 외부로 리턴되며, 외부에서 함수를 호출되면 실행결과를 return을 통해 받을 수 있다.
- return값을 변수에 할당하는 것도 가능하다.
'TIL > JavaScript' 카테고리의 다른 글
| 객체 지향 프로그래밍(OOP) (0) | 2023.01.13 |
|---|---|
| 객체 지향 프로그래밍 (클래스와 인스턴스) in JS (0) | 2023.01.13 |
| 반복문(for, while) (0) | 2022.12.22 |
| 조건문(if, else if , else) (0) | 2022.12.19 |
| 변수 (2) | 2022.12.17 |