기본값
매개변수에 값을 전달하지 않으면 그 값은 undefined가 됩니다.
function showMessage(from, text) {
from = '*' + from + '*'; // "from"을 좀 더 멋지게 꾸며줍니다.
alert( from + ': ' + text );
}
showMessage("Ann"); //에러 없이 "Ann: undefined"가 출력됩니다.
매개변수에 값을 전달하지 않아도 그 값이 undefined가 되지 않게 하려면 '기본값(default value)'을 설정해주면 됩니다.
매개변수 기본값을 설정할 수 있는 방법
1.
function showMessage(from, text = "no text given") {
alert( from + ": " + text );
}
function showMessage(text) {
if (text === undefined) {
text = '빈 문자열';
}
alert(text);
}
function showMessage(text) {
text = text || '빈 문자열';
...
}
function showMessage(text) {
text = text || '빈 문자열';
...
}
return과 값 사이에 절대 줄을 삽입하지 마세요
return
(some + long + expression + or + whatever * f(a) + f(b))
자바스크립트는 return문 끝에 세미콜론을 자동으로 넣기 때문에 이렇게 return문을 작성하면 안 됩니다. 위 코드는 아래 코드처럼 동작합니다.
return;
(some + long + expression + or + whatever * f(a) + f(b))
따라서 반환하고자 했던 표현식을 반환하지 못하고 아무것도 반환하지 않는 것처럼 되어버립니다.
표현식을 여러 줄에 걸쳐 작성하고 싶다면 표현식이 return 지시자가 있는 줄에서 시작하도록 작성해야 합니다. 또는 아래와 같이 여는 괄호를 return 지시자와 같은 줄에 써줘도 괜찮습니다.
return (
some + long + expression
+ or +
whatever * f(a) + f(b)
)
함수 이름은 함수가 어떤 동작을 하는지 설명할 수 있어야 합니다. 이렇게 이름을 지으면 함수 호출 코드만 보아도 해당 함수가 무엇을 하고 어떤 값을 반환할지 바로 알 수 있습니다.
"show" - 무언가를 보여주는 함수입니다.
"get…" – 값을 반환함
"calc…" – 무언가를 계산함
"create…" – 무언가를 생성함
"check…" – 무언가를 확인하고 불린값을 반환함