function sayHello(name) {
return "Hello " + name;
}
const lalala = sayHello("lalala");
console.log(lalala);
//Hello lalala
function 에서 return 을 해주지 않으면 lalala 의 값은 undefined
가 뜨게된다.
const sayHello = (name) => "Hello " + name;
const lalala = sayHello("lalala");
console.log(lalala);
//Hello lalala
위와 같은 경우가 arrow function 인데, arrow function 은 기본적으로 return 이 없어도 return 을 한다는게 함축되어있다.
하지만
const sayHello = (name) => {"Hello " + name};
const lalala = sayHello("lalala");
console.log(lalala);
//undefined
중괄호를 하게되면 undefined
가 뜬다.
왜냐하면 괄호를 한다는건 그 안 어딘가에서 return 을 하겠다는것을 의미하기 때문이라고 한다.
function sayHello(name = "lalala") {
return "Hello " + name;
}
const lalala = sayHello();
console.log(lalala);
//Hello lalala
sayHello() 에 아무 값을 안줘도 위와같이 function 을 작성하면 name 의 값이 undefined 이기에 name 을 default 값인 lalala 로 바꿔서 출력된다.
arrow function 에서도 똑같이 사용이 가능하다.
const sayHello = (name = "lalala") => {"Hello " + name};
const lalala = sayHello();
console.log(lalala);
//undefined
arrow function 에는 한가지 규칙이 있는데 argument 가 하나라면 ()가 필요 없지만 두 개 이상이라면 ()가 필요하다.