一尘不染

req.params.number是expressjs中的字符串吗?

node.js

我正在编写expressjs应用程序。是req.params.anything始终是字符串,而不是数字。如果我为user_id传递数字,则它的typeof始终是字符串。

app.get('user/:user_id', function(req, res){
  console.log(typeof req.params.user_id);
});

GET用户/ 21

此日志字符串。

那么,是否总是为req.params.x输入字符串?


阅读 215

收藏
2020-07-07

共1个答案

一尘不染

是的,所有参数都是字符串。

这是从expressjs中提取的route.js

var val = 'string' == typeof m[i]
  ? decodeURIComponent(m[i])
  : m[i];

因此,val它将始终是一个字符串,因为的结果decodeURIComponent始终是一个字符串,而mRegExp.exec()的结果将返回匹配的字符串数组,因此也可以安全地假定m[i]它将是一个字符串。

2020-07-07