写小脚本调接口时,经常要拼 ?page=1&keyword=...。参数一多,手写字符串很容易漏掉转义,Node 里直接用 URLSearchParams 会省心些。
环境:Node.js 18+。保存成 query-demo.mjs:
const params = new URLSearchParams({
keyword: 'hello world',
page: '1',
debug: 'true',
})
params.append('tag', 'nodejs')
params.append('tag', 'stdlib')
const url = `https://example.com/search?${params.toString()}`
console.log(url)
console.log(params.getAll('tag'))
跑一下:
node query-demo.mjs
输出里的空格会被正常编码,重复的 tag 也能保留下来。
这种适合本地脚本、测试请求、简单 webhook。要是参数里有数字或布尔值,我一般会先显式转成字符串,别让隐式转换藏得太深。