Следующий Node-модуль возвращает «undefined», но почему? - PullRequest
0 голосов
/ 23 ноября 2018

Ниже представлен модуль, который принимает один аргумент, число, а затем либо добавляет, либо вычитает из него const, magicNumber, в зависимости от того, является ли число четным или нечетным, соответственно.Однако когда я запускаю этот код, я просто получаю «undefined».Что я делаю неправильно?

module.exports = (number) => {

    let answer;  //Answer is declared in the global scope
    const magicNumber = 5;  //magicNumber is declared in the global scope

    if (number % 2) {  //If the number is even
        add(number);  //run the number through the add function
    } else {  //otherwise run the number through the subtract function
        subtract(number);
    }

    function add(number){  //Function takes the number as argument, does the math, and returns the value of answer.
        answer = number + magicNumber;
        return answer;
    }

    function subtract(number){  //Function takes the number as argument, does the math, and returns the value of answer.
        answer = number - magicNumber;
        return answer;
    }
};

1 Ответ

0 голосов
/ 23 ноября 2018

Ваш экспортированный блок ничего не возвращает, поэтому по умолчанию он не определен.

module.exports = (number) => {
let answer;  //Answer is declared in the global scope
const magicNumber = 5;  //magicNumber is declared in the global scope

if (number % 2) {  //If the number is even
    return add(number);  //you should return here as well
} else {  //otherwise run the number through the subtract function
    return subtract(number);//you should return here as well 
}

function add(number){  //Function takes the number as argument, does the math, and returns the value of answer.
    answer = number + magicNumber;
    return answer;
}

function subtract(number){  //Function takes the number as argument, does the math, and returns the value of answer.
    answer = number - magicNumber;
    return answer;
}
};
...