I’m trying to learn Node and have the function:
this.logMeIn = function(username,stream) {
if (username === null || username.length() < 1) {
stream.write("Invalid username, please try again:\n\r");
return false;
} else {
....etc
and I’m passing it
if (!client.loggedIn) {
if (client.logMeIn(String(data.match(/\S+/)),stream)) {
I’ve tried both == and ===, but I’m still getting errors as the username is not detecting that it is null, and username.length() fails on:
if (username === null || username.length() < 1) {
^
TypeError: Property 'length' of object null is not a function
I’m sure that Node won’t evaluate the second part of the || in the if statement when the first part is true – but I fail to understand why the first part of the if statement is evaluating to false when username is a null object. Can someone help me understand what I’ve done wrong?
You’re passing
String(data.match(/\S+/))asusernameargument, so whendata.match(/\S+/)isnull, you get"null"notnullforusername, as:So you need to change your condition: