req.params.number是expressjs中的string?

我正在写expressjs应用程序。 是req.params.anything总是string,而不是数字假设如果我通过一个数字为user_id它的typeof总是string。

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

GET用户/ 21

这个日志string。

那么它总是为req.params.xinputstring?

是的,所有的参数都是string。

这是从expressjs route.js提取的:

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

所以val总是一个string,因为decodeURIComponent的结果总是一个string,而m是RegExp.exec()的结果,它返回一个匹配的string数组,所以假设m[i]将是一个string。