const age = 27;
function calculateKrAge(ageOfForeigner) {
ageOfForeigner + 2;
}
const krAge = calculateKrAge(age);
console.log(krAge);
그 결과는
undefined
krAge는 아직 정의되지 않았다. 이유는 return을 하지 않았기 때문이다.
const age = 27;
function calculateKrAge(ageOfForeigner) {
return ageOfForeigner + 2;
}
const krAge = calculateKrAge(age);
console.log(krAge);
return을 입력해주어야 한다.
console.log 하는 대신 return을 해야 하는 이유가 무엇일까?
console.log는 콘솔에 결과를 보여주기 위한 것이다.
브라우저에서 alert을 보여주는 것처럼..
그러나 위 계산기처럼 javascript 코드에서는 value(값)를 바로 얻을 수 없다.
const calculator = {
plus: function (a, b) {
console.log (a + b);
}
const plusResult = calculator.plus(2, 3);
라고 하면 콘솔에
5
라고 나온다.
하지만 plusResult에는 undefined(정의 안 됨)가 나온다.
우리는 계산기를 사용할 때 값을 console에 받고 싶은 것이 아니라 값이 궁금하다.
function의 외부에서 값을 받기 바란다.
만약 망고주스가 먹고 싶은데 기계에서 망고주스가 나오지 않는다면?
console.log는 망고주스를 먹고싶은데 망고주스가 나오지 않는 것과 같다.
const calculator = {
plus: function (a, b) {
return a + b;
},
minus: function (a, b) {
return a - b;
},
times: function (a, b) {
return a * b;
},
divide: funtion (a, b) {
return a / b;
},
power: function (a, b) {
return a ** b;
},
};
const plusResult = calculator.plus(2, 3);
const minusResult = calculator.minus(plusResult, 10);
const timesResult = calculator.times(10, minusResult);
const dividResult = calculator.divide(timesResult, plusResult);
const powerResult = calculator.power(dividResult, minusResult);
console.log(plusResult);
계산기 안에서 값을 console로 보내는 것이 아니라 return을 통해 함수를 호출한 것에 다시 주어서 그거로 또 다른 함수를 호출하는데 쓴다.
한 번 return을 사용하면 function은 끝난다.