【发布时间】:2021-04-01 20:54:43
【问题描述】:
我目前正在学习 Typescript 声明,但我坚持将不同数量的参数传递给函数的概念。
换句话说,我如何为这样的 JavaScript 函数进行 Typescript 声明:
// Formats a string with the supplied parameter(s)
// Examples Usage:
// formatString("User {0} logged in", 'John');
// formatString("Max {0} words allowed", 128.8999);
// formatString("Form {0} to {1}", [10, 100]);
const function FormatString(sTemplate, params) {
if (typeof params != undefined && arguments.length == 2) {
if (params.constructor != Array) {
if (typeof params == 'string')
params = [params];
else
params = [String(params)];
}
if (params.constructor == Array) {
$.each(params, function (index, value) {
if (typeof value == 'string')
sTemplate = sTemplate.replace(new RegExp("\\{" + index + "\\}", "g"), value);
else
sTemplate = sTemplate.replace(new RegExp("\\{" + index + "\\}", "g"), String(value));
});
}
}
return sTemplate;
}
【问题讨论】:
-
尝试将示例简化为最小问题
-
请考虑修改此问题中的代码以构成minimal reproducible example,将其放入像The TypeScript Playground 这样的独立IDE 中时,可以清楚地说明您面临的问题。这将使那些想要帮助您的人立即着手解决问题,而无需首先重新创建它。它将使您得到的任何答案都可以针对定义明确的用例进行测试。
$是什么?const function是什么?你能描述一下你真正打算接受的params吗?它可以是任何东西吗?等等。
标签: javascript typescript declaration