05-5 자바스크립트 함수 선언적 함수, 익명 함수

onezeun·2022년 1월 27일
0

익명 함수

무조건 위에서 아래로 읽어지면서 만들어짐

// 변수 선언
let 익명함수

// 익명함수 두번 생성
익명함수 = function () {
  console.log('첫번째')
}

익명함수 = function () {
  console.log('두번째')
}

// 호출
익명함수()

실행 결과
두번째

선언적 함수

전체 코드를 읽기 전에 선언한 순서대로 만들어짐
따라서 같은 블록 어디에서 함수를 호출해도 상관없다.

// 선언적 함수 호출
선언적함수()

// 선언적 함수 두번 생성
function 선언적함수 () {
  console.log('첫번째')
}
function 선언적함수() {
  console.log('두번째')
}

실행 결과
두번째

→ 선언적 함수도 입력한 순서대로 생성되고 같은 이름이라면 덮어쓴다.

선언적 함수와 익명 함수의 조합

//호출
함수()

// 익명 함수 생성 (나중에 실행)
함수 = function () {
  console.log('익명함수')
}

// 선언적 함수 생성 (선언적 함수가 미리 만들어짐)
function 선언적함수 () {
  console.log('선언적함수')
}

//호출
함수()

실행결과
선언적함수
익명함수

자바스크립트에서 선언적 함수를 안 쓰는 이유

HTML 코드 내부의 script 태그는 하나씩 전체가 실행됨
그래서 선언적 함수를 쓰면 자바스크립트 코드 실행 흐름을 예측하기 더 힘들어진다

→ 그래서 자바스크립트는 안전하게 사용할 수 있는 익명 함수를 더 선호

profile
엉망진창

0개의 댓글