function sayHello(name){
console.log(`Hello, ${name}`);
}

function showError(){
alert('에러가 발생했습니다. 다시 시도해주세요.');
}
showError();
매개변수가 있는 함수
function sayHello(name){
let msg = `Hello`;
if(name){
msg += ', ' + name;
}
console.log(msg);
}
sayHello('Mike')
• 한번에 한 작업에 집중
• 읽기 쉽고 어떤 동작인지 알 수 있게 네이밍
• 유지보수가 쉬움
• 중복을 없애줌
let msg = "welcome"; * 전역 변수
function sayHello(name){
let msg = "Hello"
console.log(msg + ' ' + name);
}
sayHello('Mike');
console.log(msg);
결과

let name = "Mike"; * 전역변수
function sayHello(name){
console.log(name)
}
sayHello();
sayHello('jane');

전역 변수는 관리가 힘듦
함수에 특화된 지역 변수를 사용하는게 편리함
function sayHello(name){
let newName = name || 'friend'; * 지역변수
let msg = `Hello, ${newName}`; * 지역변수
console.log(msg);
}
sayHello();
sayHello('Jane');

function sayHello(name = 'friend'){
let msg = `Hello, ${newName}`;
console.log(msg);
}
sayHello();
sayHello('Jane');

function add(num1, num2){
return num1 + num2; -> 5
}
const result = add(2,3);
console.log(result)
함수를 종료하는 목적으로도 사용가능
function showError(){
alert('에러가 발생했습니다.'); -> 첫번째 alert만 출력
return;
alert('이 코드는 절대 실행되지 않습니다.'); -> 출력되지 않음
}
const result = showError();
console.log(result);