
함수에 매개변수를 선언할 때 기본값을 지정하려면 함수는 매개변수의 갯수와 인수의 갯수가 동일해야 한다.
만약 매개변수의 갯수와 인수의 갯수가 다르면 함수는 정상적으로 실행되지 않는다.
하지만 함수의 인수를 3개까지 보낼수 있는 함수에서 인수를 1개만 보내거나 2개만 보낼 경우 매개변수에 기본값을 지정해주면 함수를 안전하게 실행 가능하다.
[기본형]
function 함수명(매개변수1=값1,매개변수2=값,매개변수3=값3){
자바스크립트 코드
}
함수명(인수1);
함수명(인수1 인수2);
함수명(인수1 인수2 인수3);
![]() | ![]() |
|---|
[기본형]
let 변수명 = function(){코드}
변수명(); -> 익명 함수 호출문

return문은 함수에서 결과값을 반환하는 역할을 한다.
그리고 함수에서 return문이 등장하면 반복문의 break문과 비슷하게 코드가 강제 종료된다. 즉, 함수의 결괏값을 반환하면서 강제 종료 시키는 문장이다.
[기본형]
1. 일반함수 정의문
--------------------------
function 함수명(){
자바스크립트코드1;
return 데이터(값) -> 데이터 값을 반환하고 종료
자바스크립트코드2; -> 실행하지 않고 무시됨
}
2. 익명함수(함수표현식)
---------------------------
let 변수 = function(){
자바스크립트코드1;
return 데이터(값) -> 데이터 값을 반환하고 종료
자바스크립트코드2; -> 실행하지 않고 무시됨
}
함수 스코프란 함수가 선언된 위치에 따라 달라지는 '유효범위'를 의미한다. 함수안에는 또 다른 함수를 넣을 수 있다.
이때 안에 있는 함수를 '지역함수',지역함수를 감싸고 있는
스크립트영역에 선언된 함수를 '전역함수'라고 한다.
만약 한 프로젝트 안에 같은 이름의 전역 변수나 전역 함수를 사용하면 충돌이 발생한다.이럴 때 지역함수를 이용하면 자신의 코드를 안전하게 지킬수 있음.
[기본형]

[기본형]
(function(매개변수){
자바스크립트 코드
}(호출문));
or
(function(매개변수){
자바스크립트 코드
})(호출문);
ex)
![]() | ![]() |
|---|
함수 정의문 내에서 작성한 코드로 함수를 다시 호출하는 것을 '재귀 함수 호출'이라고 한다.
재귀 함수 호출을 사용하면 반복문처럼 여러 번 함수를 호출 할 수 있다.
[기본형]
function 함수명(){
자바스크립트 코드;
함수명(); -> 재귀함수호출. 위쪽의 코드를 실행한후 또 함수를 호출함
}
함수명();

ES6 버전부터는 익명함수를 표기할 때 좀 더 쉽고 직관적으로 만들수 있는 '화살표 함수'가 생겼다.
[기본형]
let 변수 = (매개변수) => {코드};
1.let 변수 = () => {코드};
매개변수가 없을 경우 매개변수 자리에 ()를 작성한다.
2. let 변수 = 매개변수 => {return코드};
매개변수가 1개인 경우 ()생략할 수 있다.
3. let 변수 = 매개변수 => 코드;
매개변수가 1개이면서 실핼시킬 코드가 1줄인 경우 매개변수의
()도 생략 할 수 있고, 코드자리의 {}도 생략할 수 있다.
이때 return도 생략 된걸로 간주한다.
4. let 변수 = (매개변수1, 매개변수2) => {코드};
: 매개변수가 2개 이상인 경우 ()를 꼭 작성하고 콤마(,)로 구분한다.
5. let 변수 = 매개변수 => {코드1; 코드2; return 데이터;}
: 작성할 코드가 2줄 이상인 경우 {}를 써야하고 만약 값을 반환해야
할 경우 return도 작성한다.

![]() | ![]() |
|---|