哪个是检查正文中是否存在参数的正确方法?
我正在使用,if(req.body.hasOwnProperty('myParam')){...}但我看到有人只是写,if(req.body.myParam){...}但如果参数的数值为 0,则第二个选项将返回 false,不是吗?
对。
如果你想检查属性是否存在,那么 hasOwnProperty 就可以完成这项工作。
req.body.myParam对于任何错误,例如、、或0,使用将返回 false 。''falsenullundefined
还要注意点符号和 hasOwnProperty 方法没有相同的行为:
hasOwnProperty() 方法返回一个布尔值,指示对象是否将指定的属性作为它自己的属性(而不是继承它)。
所以它可能会令人困惑,例如,运行上面的代码片段:
var o = new Object();
if (o.toString) {
console.log('Dot notation can be confusing, inherited property example : ', o.__proto__.toString);
}
if (o.hasOwnProperty('toString')) {
// nope
} else {
console.log("that's why the hasOwnProperty method can be preferred");
}Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2183 次 |
| 最近记录: |