Typescript 不允许在 URLSearchParams 中使用数字/数组

Jib*_*mas 4 javascript types typescript

URLSearchParamstypescript中的append 方法的类型append(name: string, value: string): void;

我尝试附加数组和数字,它在浏览器中对我有用,但在打字稿代码中给出错误。

在 MDN 中,我找到了一个示例,其中将数字用作值https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams/append

我想知道我们是否可以使用字符串以外的内容作为打字稿中的值

Mau*_*ino 6

Typescript 的作用是防止错误使用错误的类型而发生的错误。

URL 默认是单个字符串,因此该方法只需要接受一个字符串。

使用打字稿,您只需执行以下操作即可将数字转换为字符串:

const num = 1;
whatever.append('param', num + ''); // or call num.toString()
Run Code Online (Sandbox Code Playgroud)

JavaScript(没有 Typescript 开销)只需将数字附加到整个 URL 后即可将其转换为字符串。这是在函数内部发生的.append()(或者甚至可能更晚)。

但在 JavaScript 中,您还可以传递实例变量Date。这是可能的,但该.append()函数可能会感到困惑,引发错误,或者调用您可能不想要.toString()的默认值。Date