2017-01-15 10 views
0

私はJavaScriptを学んでいます& Node.js.私が期待しただろうと、このIF文が動作していないいくつかの理由...
については、私はこの問題を解決する方法を見つけ出すことはできません...Node.js if文が正常に動作しない

マイコード:

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」と入力すると応答しません。

enter image description here

+0

予想される動作は何ですか? –

+0

'=='の代わりに '==='を使う習慣を考えてみましょう。 –

+0

@Joe white;なぜ私は3つの等価を使用する必要がありますか?私は1が変数を設定するためのものだと考えました.2つはif文などで、3つは真偽のif文です。そうじゃないの? –

答えて

4

両方trim()replace()新しい文字列を返しますが、あなたは任意の変数にその値を代入されていません。ここで

問題のイメージがあります。余分な文字を削除し、スペースで置き換えるのではないでしょう(thanks @fvgs)。試してください:

readConsole = readConsole.trim().replace(/\r?\n|\r/g, ""); 
+0

置換文字列はおそらく '' ''でなければなりません。それ以外の場合は、if文の条件は '' readConsole == "quit" 'である必要があります。 – fvgs

+0

Owh、私は最初にそれをしました。スペースを取り除いてもこの方法で作業しました....とにかく、感謝マン10/10! –

関連する問題