我正在寻找与 C/PHPprintf()或 C#/Java 程序员String.Format()(IFormatProvider对于 .NET)相当的好的 JavaScript。
printf()
String.Format()
IFormatProvider
我现在的基本要求是数字的千位分隔符格式,但是处理大量组合(包括日期)的东西会很好。
我意识到微软的Ajax库提供了一个版本String.Format(),但我们不想要该框架的全部开销。
从 ES6 开始,您可以使用模板字符串:
let soMany = 10; console.log(`This is ${soMany} times easier!`); // "This is 10 times easier!
为 JavaScript尝试sprintf()。
如果你真的想自己做一个简单的格式化方法,不要连续做替换,而是同时做。
因为当先前替换的替换字符串也包含如下格式序列时,提到的大多数其他建议都会失败:
"{0}{1}".format("{1}", "{0}")
通常你会期望输出是,{1}{0}但实际输出是{1}{1}.
{1}{0}
{1}{1}
请注意,模板字符串被反引号 ` 包围,而不是(单)引号。