【发布时间】:2020-03-11 16:18:28
【问题描述】:
我有一个函数,它的值总是需要转换。我想知道是否有一种方法可以在它到达函数体之前获取值并使用一些除法?现在我正在做身体的划分,但一直在寻找一种新的更好的做事方式:
// Prices come in the the form of thousands (e.g. 24 => 2400) so division is necessary here
const formatPrice = (price = (price / 100), commaSeparated = true) => {
if (commaSeparated) {
return value.toLocaleString('en-GB', {
minimumFractionDigits: 2
});
}
return value;
}
上面我会得到错误:
'price' was used before it was defined
【问题讨论】:
-
默认值在没有实际参数传递时发挥作用。鉴于此,您希望表达式实际做什么?
-
我不禁要问你为什么要这样做?与仅在函数中执行此操作相比有什么好处?
-
@Pointy 我想我想在值到达正文之前对其进行预格式化。
-
我同意尼特的观点;如果“price”每次在此函数中使用时都需要除以 100,则让除法成为函数的一部分。
-
对,但这不是默认参数机制的用途。它用于在对函数的实际调用中没有传递任何值时提供一个值。
标签: javascript ecmascript-6 default-value