// 함수 선언
function 함수이름(매개변수) {
// 함수 호출시 실행될 코드
}
// 함수 호출
함수이름(인자)
// 함수 선언
function showMessage() {
console.log("Hello");
}
// 함수 호출
showMessage();
함수 선언식으로 함수 선언 후 호출
// 함수의 호이스팅
showMessage(); // 함수 선언전에 호출
// 함수 선언
function showMessage() {
console.log("Hello");
}
함수 선언전 호출
익명 함수 (Anonymous Function)
이름이 붙어 있지 않는(함수명이 없는) 함수
호이스팅이 일어나지 않는다.
선언 후 실행하지 않으면 에러가 난다.
함수 표현식에서 사용한다.
// 익명 함수 선언
function (매개변수) {
// 함수 호출 시 실행될 코드
}
// 익명 함수 선언만 한 경우
function (name) {
console.log(name + "님 어서오세요!");
}
// 에러 메시지
Uncaught SyntaxError: Function statements require a function name
익명 함수를 선언만 할 경우
// 익명 함수 즉시 실행
(function (name) {
console.log(name + "님 어서오세요!");
})("CloudCoke");
익명 함수를 즉시 실행한 경우
함수 표현식 (Function Expressions)
호이스팅이 일어나지 않는다.
가독성이 조금 떨어진다.
// 함수 선언과 동시에 변수 선언 및 변수 초기화
const 변수이름 = function (매개변수) {
// 함수 호출시 실행될 코드
}
// 함수 호출
변수이름(인자)
const showMessage = function () {
console.log("Hi");
};
// 함수도 값이다
console.log(showMessage);
// 함수 호출
showMessage();
함수 표현식으로 함수 선언 후 호출
화살표 함수 (Arrow Function)
함수 표현식을 조금 더 간결한 문법으로 만드는 방법이다.
ES6에서 추가된 문법
// 기본적인 화살표 함수 선언
const 변수 이름 = (매개 변수) => {
// 함수 호출 시 실행될 코드
}
// 함수 호출
변수 이름(인자)
화살표 함수 문법
// 함수 표현식으로 함수 선언시
const sum = function (a, b) {
return a + b;
};
console.log(sum(1, 2));
함수 표현식으로 함수 선언 후 호출
// function 키워드 생략
const sum = (a, b) => {
return a + b;
};
console.log(sum(1,2))
화살표 함수로 함수 선언 후 호출
// 함수의 유일한 문장이 return일 때 return 및 중괄호({}) 생략
const sum = (a, b) => a + b
console.log(sum(1,2))
화살표 함수 return 생략
// 만약 매개 변수가 1개일 경우에는 ()도 생략 가능(선택 사항)
// 매개 변수가 없는 함수는 () 필요!!!
// 함수 표현식
const sum = function (a) {
return a + 1;
};
console.log(sum(1))
// 화살표 함수
const sumArrow = a => a + 1
console.log(sumArrow(1))