본문 바로가기
JavaScript | 자바스크립트

함수의 반환값 - return

by Pig_CoLa 2020. 7. 10.
SMALL

 

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부분을 실행하지 않습니다.

LIST

'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

댓글