본문 바로가기
Frontend/JavaScript

[Javascript] 함수 표현식

by joy_95 2022. 1. 4.

함수 표현식

✔️ 함수를 만들고 그 값을 변수에 할당하고 싶을 때 표현식으로 사용.

//함수 선언 -> sayHi라는 함수 선언시 이 함수는 sayHi라는 변수에 저장된다.
function sayHi(){
  alert('hi');
}


//함수 표현식
let sayHi = function(){
  alert('hi');
}

sayHi(); //hi


// 함수 복사
let func = sayHi;

func(); //hi

 

콜백 함수

✔️ 함수를 함수의 인수로 전달하고

✔️ 인수로 전달한 그 함수를 나중에 호출

function ask(question, yes, no){
  if(confirm(question)) yes()
  else no();
}

function showOk(){
  alert('동의하셨습니다.');
}

function showCancel(){
  alert('취소 버튼을 눌렀습니다.');
}

aks('동의하십니까?', showOk, showCancel);

 

함수 선언문 vs 함수 표현식

✔️ 함수 선언문은 스크립트 준비 단계에서 미리 실행되기 때문에 어디에서든 사용할 수 있다.

✔️ 함수 표현식은 실제 코드가 실행되었을때 사용할 수 있다.

✔️ 함수 표현식보다는 함수 선언문을 사용하는 게 더 좋다. 가독성이 좋고 활용범위가 넓어지기 때문.

 

요약

  • 함수의 값을 변수에 할당하고 싶을 때 함수 표현식을 사용한다.
  • 콜백 함수 : 함수의 인수에 함수를 넣었을 때 그것을 콜백 함수라 한다.
  • 함수 선언문은 자바스크립트 준비 단계에서  실행되기 때문에 어디에서든 사용 가능하다. 
    • 게다가 함수로써의 가독성도 좋기 때문에 표현식보다는 선언문으로 사용하는게 더 좋다.

 

Reference

반응형

'Frontend > JavaScript' 카테고리의 다른 글

[Javascript] 문자열 메소드  (0) 2022.01.04
[Javascript] 화살표 함수  (0) 2022.01.04
[Javascript] 함수  (0) 2022.01.04
[Javascript] Class - static(정적 메서드, 정적 프로퍼티)  (0) 2022.01.03
[Javascript] 클래스 상속  (0) 2021.12.30