首页 > 解决方案 > Typescript 不允许在 URLSearchParams 中使用数字/数组

问题描述

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

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

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

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

标签: javascripttypescripttypes

解决方案


打字稿可以防止错误使用错误类型而发生的错误。

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

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

const num = 1;
whatever.append('param', num + ''); // or call num.toString()

JavaScript(没有 Typescript 开销),只要将数字附加到整个 URL,就会将其转换为字符串。这发生在函数内部.append()(甚至可能更晚)。

但在 JavaScript 中,您也可以传递一个实例变量Date。这是可能的,但该.append()函数可能会混淆、抛出错误或调用您可能不想要的默认.toString()值。Date


推荐阅读