我已经使用node.js创建了REST API,因为API使用者没有正确填充对象,并且某些对象属性即将到来}
,有时是"undefined"
。
我添加了一个请求拦截器,如果缺少必需的请求参数,该拦截器会拒绝API请求
这就是我今天的代码的样子。我只想检查是否有更好的方法来处理它。
undefined
答案 0 :(得分:2)
最具体和不言自明的方式是:
foo === undefined || foo === 'undefined'
而
!foo || foo === 'undefined'
条件等同于
foo === undefined || foo === null || foo === false || foo === '' || foo === 0 || foo === NaN || foo === 'undefined'
对于列出的任何虚假值,这可能会导致误报。在这种情况下,不应使用!foo
。
一种较短的方法是将foo
强制转换为字符串:
'' + foo === 'undefined'
对于具有toString()
返回undefined
的任何对象,这可能导致误报。如果不希望这样做,则不应使用。
这是一种解决方法,可以解决最初不应该存在的问题。 undefined
不应与'undefined'
字符串区分开,因为这样一来就无法分辨它最初是'undefined'
字符串(“ undefined”是一个单词)还是undefined
被不小心串起来了。