11. 함수 표현식, 화살표 함수

조뮁·2022년 7월 3일
0

JS기초

목록 보기
11/14
post-thumbnail

함수 선언문 vs 함수 표현식

  • 실행하는 방식, 동작하는 방식 모두 동일
  • 호출할 수 있는 타이밍에 차이가 있음
  • (참고) 함수 표현식보다 함수 선언문이 더 자유롭게 함수를 사용할 수 있음
// 함수 선언문
function sayHello(){
	console.log('안녕하세요');
}

// 함수 표현식
// 이름이 없는 함수 생성 후 변수에 할당
let sayHello = function(){
	console.log('안녕하세요');
}
  • 함수 선언문 : 어디서든 호출 가능
    JS는 위에서부터 아래로 읽으며 코드를 실행하는 '인터프리터 방식'인데, 코드 실행 전 모든 함수선언문을 찾아서 미리 실행해놓기 때문에 함수 선언문으로 만들어진 함수는 어디서든 호출 가능함 (= 호이스팅 (hoisting))
  • 함수 표현식 : JS가 함수가 할당된 변수를 읽은 이후에야 함수 실행 가능함.

화살표 함수

let add = function(num1, num2) {
	return num1+num2;
}
  • 함수를 선언하는 funciton 생략 가능
let add = (num1, num2) => {
	return num1+num2;
}
  • return문을 ( )로 표현 가능 / {}를 ()로 변경
let add = (num1, num2) => (
	num1 + num2;
)
  • return문이 한줄이라면 ()도 생략 가능
let add = (num1, num2) => num1 + num2;
  • 매개변수가 하나라면 (매개변수) 괄호도 생략 가능
let sayHello = (name) => `Hello, ${name}`;

let sayHello = name => `Hello, ${name}`;
  • 인수가 없는 함수인 경우 ()생략 불가능
let showError = () => {
	alert('error!');
}
  • reuturn문을 사용한다고 해도, 코드가 두 줄 이상인 경우 ()대신 {}사용
let add = (num1, num2) => {
	const result = num1 + num2;
    return result;
}

0개의 댓글