javascript 中的字符串占位符替换程序
string placeholder replacement program in javascript
function format(template, ...values) {
return template.replace(/{(\d+)}/g, (_,i) => values[i]);
}
上面的解决方案returns一个格式化的字符串。例如 format("{0}{1}{2}{1}{0}", "k", "a", "y")
returns “皮划艇”。
我知道JS中的字符串替换函数,这里我没有得到箭头函数
_ 在 fat arrow 函数中被称为 throwaway variable.
下划线符号 _
是 JavaScript 中的有效标识符,在您的示例中,它被用作函数参数。
单下划线是一些 javascript 程序员用来向其他程序员表明他们应该 "ignore this binding/parameter" 的约定。由于 JavaScript 不进行参数计数检查,因此可以完全省略该参数。
这个符号经常(按照惯例)与粗箭头函数结合使用,使它们更加简洁和可读,如下所示:
const fun = _ => console.log('Hello, World!')
fun()
在这种情况下,该函数不需要 运行 的参数,因此开发人员使用下划线作为约定来表示这一点。同样的事情可以这样写:
const fun = () => console.log('Hello, World!')
fun()
不同之处在于第二个版本是一个没有参数的函数,但是第一个版本有一个名为_的参数被忽略了。虽然它们是不同的,但第二个版本更安全,如果稍微冗长(1 个额外字符)。
此外,考虑像
这样的情况
arr.forEach(function (_, i) {..})
其中_
表示不使用第一个参数。
function format(template, ...values) {
return template.replace(/{(\d+)}/g, (_,i) => values[i]);
}
上面的解决方案returns一个格式化的字符串。例如 format("{0}{1}{2}{1}{0}", "k", "a", "y")
returns “皮划艇”。
我知道JS中的字符串替换函数,这里我没有得到箭头函数
_ 在 fat arrow 函数中被称为 throwaway variable.
下划线符号 _
是 JavaScript 中的有效标识符,在您的示例中,它被用作函数参数。
单下划线是一些 javascript 程序员用来向其他程序员表明他们应该 "ignore this binding/parameter" 的约定。由于 JavaScript 不进行参数计数检查,因此可以完全省略该参数。
这个符号经常(按照惯例)与粗箭头函数结合使用,使它们更加简洁和可读,如下所示:
const fun = _ => console.log('Hello, World!')
fun()
在这种情况下,该函数不需要 运行 的参数,因此开发人员使用下划线作为约定来表示这一点。同样的事情可以这样写:
const fun = () => console.log('Hello, World!')
fun()
不同之处在于第二个版本是一个没有参数的函数,但是第一个版本有一个名为_的参数被忽略了。虽然它们是不同的,但第二个版本更安全,如果稍微冗长(1 个额外字符)。
此外,考虑像
这样的情况arr.forEach(function (_, i) {..})
其中_
表示不使用第一个参数。