Как .trim () и это вместе работают с обычными функциями и функциями обозначения стрелок? - PullRequest
0 голосов
/ 25 июня 2019

Редактировать : Я знаю, понимаю ошибку. Мои извинения.

Я сталкиваюсь с '.trim не является функцией' на моем терминале, когда .trim () используется внутри функции, записанной в объявлении функции или в выражении выражения функции. Если функция указана в виде стрелки, ошибка не возникает. Если я удаляю .trim () из кода, то проблема также не возникает, но, конечно, код не работает так, как задумано, поскольку необходим .trim ().

Это проблема в руководстве CodeCademy Node.js, но я также хочу знать, что происходит за кулисами. Решение также использует стрелку-обозначение.

Я исследовал различия, и одно большое отличие заключается в том, как работает ключевое слово this , но я до сих пор не понимаю, как этот перемещается по коду. Я также не знаю, как это влияет на .trim (). Я даже попытался console.log () только функция, но также столкнулся с теми же проблемами.

Вот код (объявление функции), где появляется ошибка:

let {testNumber} = require('./game.js');

process.stdout.write("I'm thinking of a number from 1 through 10. What do you think it is? \n(Write \"quit\" to give up.)\n\nIs the number ... ");

function playGame(userInput){
    let input = userInput.toString.trim();
    testNumber(input);
};

process.stdin.on('data', playGame);

Этот код не приводит к ошибке:

let {testNumber} = require('./game.js');

process.stdout.write("I'm thinking of a number from 1 through 10. What do you think it is? \n(Write \"quit\" to give up.)\n\nIs the number ... ");

let playGame = (userInput) => {
    let input = userInput.toString().trim();
    testNumber(input);
};

process.stdin.on('data', playGame);

Вот терминал, показывающий ошибку из первого блока кода выше: enter image description here

Почему это происходит? Это проблема с узлом? Это похоже на нормальный, ясный кусок кода, но я не могу понять, почему выбор функции обозначения влияет на результат. Удаление .trim () останавливает ошибку (но влияет на желаемый результат, как упомянуто выше), поэтому моя интуиция говорит мне, что .trim () обладает некоторым свойством, которое играет роль, чтобы все испортить. Любая помощь с благодарностью.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...