반응형
function hi() {
console.log('hi~')
}
hi() // hi~
위 함수의 반환값은 어떻게 될까요..?
console.log(hi())
// hi~
// undefiend
자칫하면 hi~ 라고 출력된것이 hi함수를 호출한 반환값처럼 보일수 있으나 함수가 호출되고 내부에서 작동한것입니다. hi()라는 값 자체는 undefined가 되었네요.
더 정확히 알아보기 위해서 변수에 값을 넣어줍시다.
function hi() {
console.log('hi~')
}
let a = hi()
// hi~
console.log(a)
// undeifined
모든 함수에는 반환값이라는 것이 있습니다.
실행된 자기자신이 그 값이 되는거죠.
함수 내에서 반환값을 정의 해주지 않는다면 기본값은 undefined
입니다.
반환값 정해주기 - return문
함수를 정의할 때 return이라는 키워드와 함께 작성한 값이 반환됩니다.
이는 일반적인 원시값 ( 문자열, 숫자, Boolean값(true,false)) 일수도 있고
배열, 객체 등의 여러 타입일 수도 있으며 연산자, 비교연산자 등을 통한 연산 결과일 수도 있습니다.
심지어는 return 에 또다른 함수를 실행하여 그 함수의 반환값을 넣어줄수도
함수 자체를 반환할수도 있습니다.
function hi() {
return 1;
}
function hello(num) {
console.log(num);
return 'hello';
}
function bye() {
return hi();
}
function sumToTen(num) {
return num + 10;
console.log('ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ');
}
function isEven(num) {
return num % 2 === 0;
}
function end() {
console.log('The end')
}
let a, b, c, d, e, f;
a = hi()
b = hello(5) // 5
c = bye()
d = sumToTen(5)
e = isEven(77)
f = end() // The end
이제 a부터 f까지의 변수에 어떤값이 담겼는지 확인해볼까요?
console.log(a) // 1
console.log(b) // hello
console.log(c) // 1
console.log(d) // 15
console.log(e) // fasle
console.log(f) // undefined
이때 주의할 점은 return의 위치입니다. d라는 변수에 값을 할당할 때에 실행된 sumToTen함수는 console.log부분을 실행하지 않습니다.
반응형
'JavaScript | 자바스크립트 > 기타' 카테고리의 다른 글
객체 - Object (0) | 2020.07.13 |
---|---|
배열 - Array (0) | 2020.07.12 |
함수 - function (0) | 2020.07.10 |
조건문(조건부실행, 흐름제어) - if / else if / else (0) | 2020.07.10 |
변수 (0) | 2020.06.27 |
댓글