javascript - 当字符串可能为空时确定 Node JS 中的字符串长度

标签 javascript string node.js if-statement null

我正在尝试学习 Node 并拥有以下功能:

this.logMeIn = function(username,stream) {
  if (username === null || username.length() < 1) {
    stream.write("Invalid username, please try again:\n\r");
    return false;
  } else {
  ....etc

我正在通过它

if (!client.loggedIn) {
  if (client.logMeIn(String(data.match(/\S+/)),stream)) {

我已经尝试了 == 和 ===,但我仍然遇到错误,因为用户名没有检测到它为空,并且 username.length() 在以下情况下失败:

if (username === null || username.length() < 1) {
                                  ^
TypeError: Property 'length' of object null is not a function

我确定 Node 不会计算 || 的第二部分在第一部分为真时的 if 语句中 - 但我不明白为什么当用户名是空对象时 if 语句的第一部分评估为假。有人可以帮助我了解我做错了什么吗?

最佳答案

length 是一个属性,而不是一个函数。试试 username.length

关于javascript - 当字符串可能为空时确定 Node JS 中的字符串长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10635727/

相关文章:

string - 在 Clojure 中修剪不可打印字符的一般方法

python - 如何通过用户输入创建一个字符串数组并在 Python 中按字典顺序打印它们?

node.js - 在连接字符串中使用数据库名称时出现 Mongoose 连接错误

node.js - NodeJS 异步函数创建页面加载器

node.js - 如何在 node.js 中使用 Passport 访问序列化用户

javascript - 我怎样才能把我的javascript数组中的单词变成一个链接

javascript - 拖放 div 元素

javascript - 如何将上下文菜单嵌入 HTML5 视频播放器?

javascript - react 函数不返回任何值

python - 均匀地并排打印 2 个均匀填充的列表