Javascript Node.js if语句未按预期工作

Javascript Node.js if语句未按预期工作,javascript,node.js,Javascript,Node.js,我正在学习javascript和Node.js。出于某种原因,如果语句没有像我预期的那样工作,那么这个。 我想不出怎么解决这个问题 我的代码: process.stdin.setEncoding('utf8'); //Set UTF charcode process.stdin.on('readable', () => { //Event fires when there's input var re

我正在学习javascript和Node.js。出于某种原因,如果语句没有像我预期的那样工作,那么这个

我想不出怎么解决这个问题

我的代码:

process.stdin.setEncoding('utf8');                      //Set UTF charcode

process.stdin.on('readable', () => {                    //Event fires when there's input
    var readConsole = process.stdin.read();             //Receive the input from console

    if(readConsole != null) {
        readConsole.trim().replace(/\r?\n|\r/g, " ");   //Trim input and remove line breaks

        process.stdout.write('Input: ' + readConsole);  //Output the input

        if(readConsole == "quit") {
            process.exit();
        }
    }
});
但出于某种原因,每当我在控制台中键入“quit”时,它都不会响应

以下是问题的图像:

两个
trim()
replace()
都返回一个新字符串,但您没有将该值赋给任何变量。您可能希望删除额外的字符,而不是用空格替换它们(感谢@fvgs)。尝试:


期望的行为是什么?考虑使用<代码>==而不是<代码> ==< /代码> @乔·韦特;为什么我需要使用3等于?我认为1代表设置变量,2代表if语句等,3代表if语句的true或false?难道不是这样吗???
=
确实适合分配
=
==
都是比较运算符;他们的行为是相同的,只是
=
执行类型强制,这几乎从来都不是一件好事。再见。@joewite谢谢!我从来不知道!我将从现在开始使用它!:)替换字符串可能应该是
,否则if语句中的条件将需要是
readConsole==“quit”
。噢,我一开始就是这样做的。但是,删除空间也是如此。。。。无论如何,谢谢你,老兄10/10!!
readConsole = readConsole.trim().replace(/\r?\n|\r/g, "");