Reputation: 7580
I am writing expressjs app. is req.params.anything always string and not number suppose if I pass a number for user_id it's typeof is always string.
app.get('user/:user_id', function(req, res){
console.log(typeof req.params.user_id);
});
GET user/21
this logs string.
So is it always type string for req.params.x?
Upvotes: 8
Views: 13914
Reputation: 8945
Yes, all params will be strings.
This is extracted from the expressjs route.js
:
var val = 'string' == typeof m[i]
? decodeURIComponent(m[i])
: m[i];
So the val
will always be a string, since the result of decodeURIComponent
is always a string, while m
is the result of a RegExp.exec() which returns an array of matched strings, so it's also safe to assume that m[i]
will be a string.
Upvotes: 9