개념/Javascript(23.03.27~)

[Javascript] [15-5] 함수 표현식

Lethargin 2023. 4. 6. 17:40

[15-5] 함수 표현식

-지금까지는 : 함수명을 선언하고 -> 그 이름을 사용해 호출함 (함수명만 알면 어디서나 호출해서 실행 가능함)

-여기서는 : 함수 이름 지정하지 않고 사용 or 함수를 호출하지 않고 바로 실행하려 함

 

1. 익명 함수

-이름이 없는 함수이므로, 익명 함수 선언 시에는 이름을 붙이지 x

함수 이름 있을 때 익명함수일 때
function(a,b) {
   return a + b;
}

 

-이름이 없는데 어떻게 실행할지? -> ①함수를 변수에 할당 ②다른 함수의 매개변수로 사용

①함수를 변수에 할당


: 익명함수 function()을 변수 hi에 할당 -> hi를 이용해 함수를 실행


: 익명함수 function(a,b)를 변수 sum에 할당
②다른 함수의 매개변수로 사용



















 

 

2. 즉시 실행 함수

-보통의 함수 : 선 선언 후, 필요시마다 호출해서 실행

-but 한번만 실행하는 함수 : 함수 정의와 동시에 실행 가능 (∴함수를 실행하는 순간에 js해석기에서 함수를 해석)

 

 

 

3. 화살표 함수

-ES6버전부터 사용 : 함수 선언을 좀더 간단히 하기 위함

-익명함수에서만 사용 가능

-매개변수의 개수에 따라 달라짐

 

①매개변수가 없을 경우




const hi = function() {
   return "안녕하세요?";
}



const hi = ( ) => { return "안녕하세요?" };

혹은

const hi = ( ) => "안녕하세요?";

②매개변수가 1개인 경우



let hi = function(user) {
   document.write(user + "님, 안녕하세요?");
}


let hi = user => { document.write(user + "님, 안녕하세요?"); }

(매개변수가 1개일 경우, 매개변수의 괄호 생략 가능)

 

③매개변수가 2개 이상인 경우

-매개변수 추가하려면, 괄호 안에 쉼표(,)로 구분


let sum = function(a, b) {
   return a + b;
}
let sum = (a, b) => a + b;