- 특정 동작을 수행하기 위해 코드를 그룹화 한 것
- 정의되면 여러번 호출되며 실행
- JavaScript에서 함수는 다른 함수로 전달되거나 반환받을 수 있고, 변수와 속성을 할당받을 수도 있기 때문에 일급객체(First Class Object)에 해당
※ 매개변수(parameter)
※ 인수(arguments)
- 기본적으로 function 키워드로 정의
- 함수 외부로 데이터를 반환할 때 return문 사용
function 함수명(매개변수1, 매개변수2, ...) { 실행문, 처리문 } 함수명(인수1, 인수2);
function sum(num1, num2) {
console.log(num1 + num2);
}
sum(10, 7); //=> 17
익명 함수(Anonymous Function)
: 이름이 없는 함수로 변수에 함수를 할당하여 정의
const 변수명 = function(매개변수1, 매개변수2, ...) { 실행문, 처리문 } 변수명(인수1, 인수2);
const sum = function(num1, num2) {
console.log(num1 + num2);
}
sum(10, 7); //=> 17
화살표 함수(Arrow Function)
: 일반 표현식에서 function 키워드가 사라지고 매개변수 다음에 화살표(=>)가 오는 함수
const 변수명 = (매개변수1, 매개변수2, ...) => { 실행문, 처리문 } 변수명(인수1, 인수2);
const sum = (num1, num2) => {
console.log(num1 + num2);
}
sum(10, 7); //=> 17
- 함수 내부에서 선언된 변수
- 변수가 선언된 함수 내에서만 유효하며 함수가 종료되면 메모리에서 삭제
- 변수를 사용할 수 있는 범위(scope)가 중괄호로 감싸진 블록 안으로 제한
- 함수의 외부에서 선언된 변수
- 프로그램의 어느 영역에서나 접근할 수 있으며 프로그램이 종료되어야만 메모리에서 삭제
- 프로그램 내의 전체에서 사용되는 변수이며 함수 밖에서 선언
정수 num1, num2가 매개변수로 주어질 때, num1을 num2로 나눈 나머지를 return 하도록 solution 함수를 완성하세요.
입출력 예시1 ) num1이 3, num2가 2일 때 3을 2로 나눈 나머지 1을 return 합니다.
입출력 예시2 ) num1이 10, num2가 5일 때 10을 5로 나눈 나머지 0을 return 합니다.
function solution(num1, num2) {
let answer = num1 % num2;
console.log(answer);
}
solution(3, 2); //=> 1