TypeScript URLSearchParams允许在初始化参数时出现运行时错误,

rt4zxlrg  于 9个月前  发布在  TypeScript
关注(0)|答案(2)|浏览(109)

Bug报告

🔎 搜索词

🕗 版本与回归信息

  • 这是一次崩溃
  • 在版本______和______之间发生了变化
  • 这是我尝试的每个版本中的行为,我查阅了关于:常见问题解答中的“不是bug的bug”FAQ中的所有其他标题的条目。已通过 👍
  • 由于______,我无法在之前的版本上测试此问题。

⏯ Playground链接

带有相关代码的Playground链接

💻 代码

  1. new URLSearchParams([["ok", "ok", "NOT_ok"]]);
  2. // ^^ can't handle more than two elements

😞 实际行为

TypeScript允许任何长度的数组作为参数,但这会抛出JS运行时错误。

当前: string[][] 👎

🙂 预期行为

如果产生JavaScript运行时错误,TypeScript应该警告错误的参数。

建议: [string, string][] 👍

值得注意的是,@node/types处理此错误:@node/types URLSearchParams构造函数
如果这个问题被积压,即将有PR到来 🙇

wkyowqbh

wkyowqbh1#

重复的#43738。使用的搜索词:urlsearchparams in:title

rfbsl7qr

rfbsl7qr2#

@MartinJohns - 感谢您的及时回复
#43738 引用了 value 搜索参数,而不是允许运行时错误的 issue。WebIDL 规范使用 sequence<sequence<USVString>> 来描述可接受的参数。这产生了类型 string[][] 。在 URLSearchParams.idl 的解释中,它指出
如果 pair 不包含恰好两个项目,则抛出 TypeError。 // <~ string[][] 应该报错

相关问题