문법의 간결함 !
기본함수
// 함수 선언식
function main() {
console.log("hello");
}
// 함수 표현식, 익명함수를 선언함과 동시에 변수 main에 할당
const main = function() {
console.log("hello");
}
화살표 함수
// 함수 표현식에서 function 지우고 화살표 붙임
const main = () => {
console.log("hello");
}
단일 표현식
// 함수 표현식
const add = function(a, b) {
return a + b;
}
// 화살표 함수
const add = (a, b) => {
return a + b;
}
**// 중괄호, 리턴 생략
const add = (a, b) => a + b; // 결과값 자동 리턴**
매개변수가 1개
// 함수 표현식
const print = function(text) {
console.log(text);
}
// 화살표 함수
const print = (text) => console.log(text);
**// 매개변수 1개면 소괄호 생략 가능
const print = text => console.log(text);**
매개변수가 없거나 2개 이상일 때, 생략 불가능
1개일 때만, 생략할 수 있다!
리턴 값이 객체 일 때
// 화살표 함수
const getObject = () => {
return { name: "승희" }
}
// 한줄이니 중괄호, 리턴 생략 가능?
const getObject = () => { name: "승희" }
**// 리턴값이 객체일 경우 소괄호를 붙여줘야 함
const getObject = () => ({ name: "승희" })**
argument 가변인자
인자를 담고 있는 배열 형태의 객체, 정확하게 배열은 아님 argumnets -> 인자의 갯수가 정해지지 않은 가변인자가 전달되는 함수를 쓸 때 유용