Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在编写 expressjs 应用程序。是 req.params.anything 总是字符串而不是数字假设如果我为 user_id 传递一个数字,它的 typeof 总是字符串。
app.get('user/:user_id', function(req, res){ console.log(typeof req.params.user_id); });
获取用户/21
此日志字符串。
那么它总是为 req.params.x 键入字符串吗?
是的,所有参数都是字符串。
这是从 expressjs 中提取的route.js:
route.js
var val = 'string' == typeof m[i] ? decodeURIComponent(m[i]) : m[i];
因此 theval将始终是一个字符串,因为 的结果decodeURIComponent始终是一个字符串,而 whilem是 RegExp.exec() 返回匹配字符串数组的结果,因此假设它m[i]是一个字符串也是安全的。
val
decodeURIComponent
m
m[i]