()⇒{}

목표


함수 표현식과 화살표함수에 대해 알아본다.

함수표현식


javascript에서는 함수를 non-primitive 변수처럼 이용할 수 있다.

index.js의 내용을 전부 지운 뒤 다음 내용을 입력한다.

이후 Ctrl+S를 눌러 저장 후 콘솔창을 통해 정상적으로 출력되었는지 확인한다.

let hello = function () {
  return "hello, JS!";
};

const helloText = hello();
console.log(helloText);

변수에 함수를 담을 때는 함수 선언식과는 달리 굳이 이름을 정하지 않아도 되므로(어차피 이름은 변수명이므로) function()으로 함수임을 나타내기만 하면 된다.

호이스팅(hoisting)


Javascript는 함수 선언식으로 선언된 함수를 이용할 때, 이용한 시점이 코드보다 위에 있어도 실행이 가능하다. 이는 선언식 부분을 자동으로 먼저 실행하고 진행하기 때문인데, 이를 함수 호이스팅이라고 한다. 단, 함수표현식의 경우 호이스팅이 일어나지 않기 때문에 코드를 신중하게 작성해야 한다.

console.log(helloA());  //에러 발생
console.log(helloB());  //hello, JS!

let helloA = function () {
  return "hello, JS!";
};

function helloB() {
  return "hello, JS!";
}

화살표 함수


함수 표현식을 더더욱 축약할 수 있다.

function(parameter){내용}(parameter)=>{내용}