URLSearchParams API 提供对 URL 查询部分的读写权限。
URLSearchParams 类也能够与以下四个构造函数中的任意一个单独使用。
URLSearchParams 类也可在全局对象上使用。
WHATWG URLSearchParams 接口和 [querystring] 模块有相似的目的,但是 [querystring] 模块的目的更加通用,因为它可以定制分隔符(& 和 =)。
但另一方面,这个 API 是专门为 URL 查询字符串而设计的。
const myURL = new URL('https://example.org/?abc=123');console.log(myURL.searchParams.get('abc'));// 打印 123myURL.searchParams.append('abc', 'xyz');console.log(myURL.href);// 打印 https://example.org/?abc=123&abc=xyzmyURL.searchParams.delete('abc');myURL.searchParams.set('a', 'b');console.log(myURL.href);// 打印 https://example.org/?a=bconst newSearchParams = new URLSearchParams(myURL.searchParams);// 上面的代码等同于:// const newSearchParams = new URLSearchParams(myURL.search);newSearchParams.append('a', 'c');console.log(myURL.href);// 打印 https://example.org/?a=bconsole.log(newSearchParams.toString());// 打印 a=b&a=c// newSearchParams.toString() 会被隐式调用。myURL.search = newSearchParams;console.log(myURL.href);// 打印 https://example.org/?a=b&a=cnewSearchParams.delete('a');console.log(myURL.href);// 打印 https://example.org/?a=b&a=c
