Ich bin ein Rails/PHP zu entwickeln und gerade Nodejs zu lernen, ich bin nur ein wenig verwirrt, dass sie keine Syntaxfehler oder Warnungen geben, wenn Sie etwas falsch eingeben.NodeJS gibt keine Fehlermeldungen, wenn fehlende Klammern
Zum Beispiel:
var readline = require('readline');
var rl = readline.createInterface(process.stdin, process.stdout);
var ar = [];
var nm = '';
rl.question("What is your name? ", function(name){
nm = name;
rl.setPrompt(`words? `);
rl.prompt();
rl.on('line', function(str){
ar.push(str.trim());
if(str.toLowerCase().trim() == 'exit'){
rl.close(); // <--- I forgot to add '()' on this line but the program still runs, no warnings at all.
}else{
rl.setPrompt(`add more ('exit' to leave)`);
rl.prompt();
}
});
});
// Because I forgot '()' this event did not execute '
rl.on('close', function(){
console.log(name " " + ar);
process.exit();
});
In anderen Sprachen, heißt es in der Regel einen Fehler auf dieser Linie aber in NodeJS gibt es keines und es dauerte 5 Minuten, um herauszufinden, warum das close-Ereignis wird nicht ausgeführt.
Ich bin neu in dieser Sprache, könnte jemand erklären warum?
'In anderen Sprachen sagt es normalerweise einen Fehler in dieser Zeile' gut es hängt von dem Editor ab, den Sie verwenden ... wenn Sie Notepad verwenden, wird es nicht :) Im Falle von Node, ein reicher Editor wie VS Code mit JSHint installiert _will_ führen einige Prüfungen auf Ihrem Code –
Im mit Atom .. es sagt nichts .. – XDProgrammer
Weil Atom ist ein Texteditor. Check out https://atom.io/packages/atom-jshint –