javascript - 或者运算符在 IF 语句 Node.js 中不起作用

标签 javascript node.js

我最初在 node.js 中有一条路线是这样说的:

如果 req.url === something or something or something or something, do this, else, do that.

问题是即使不满足 if 条件,else 语句也不会执行。无论如何都只执行 if 语句

我已经将我的路线分解到最低限度,试图找出问题所在。我将其简化为:

app.get('/test', function(req,res) {

        var category = 'stupid3';

        if(category === 'stupid' || 'stupid2') {

            res.end('yup');

        } else {

            res.end('nope');

        }

});

我做错了什么?

为什么else语句不执行?

最佳答案

您使用不当。

category === 'stupid' || category === 'stupid2'

您的版本实际上...

 (category === 'stupid') || 'stupid2'

...因此,因为非空字符串是“真实的”,所以 RHS 总是会导致 || 通过。

关于javascript - 或者运算符在 IF 语句 Node.js 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33089632/

相关文章:

javascript - node.js - 我应该如何组织我的代码?我现在得到的并不可靠

module - NodeJS - 使用远程模块?

javascript - 如何获取有序列表的长度?

javascript - 为什么这段 C 代码在 JavaScript 中不起作用?

javascript - 如何向元素添加额外的类名?

javascript - 显示 Bootstrap 弹出窗口行为异常的逻辑

javascript - 如何只显示包含对象的数组?

javascript - 无法理解 NodeJS 中的一些基本逻辑

html - 如何在使用更改的 html 文件时保留套接字 io ID?

javascript - 函数变量定义后未定义