提问人:Ali Ehyaie 提问时间:5/21/2023 最后编辑:Ali Ehyaie 更新时间:5/22/2023 访问量:32
使用私有字段 (#) 作为元素的类型
Using a private field (#) as the typeof for an element
问:
检查此代码
interface PriceFormatOptions {
unit: string;
}
export default class PriceHelper {
/**
* Adds unit and separates thousands
*/
static format(
price: Parameters<typeof PriceHelper.#separateThousands>[0],
options: PriceFormatOptions = {} as PriceFormatOptions
) {
let unit = options.unit || "تومان";
const separatedPrice = this.#separateThousands(price);
if (unit) unit = ` ${unit}`;
return separatedPrice + unit;
}
/**
* Converts numeral prices to persian words
*/
static toWords() {}
static #separateThousands(price: string | number) {
return String(price || 0).replace(/\B(?=(\d{3})+(?!\d))/g, ",");
}
}
当我像这样分开成千上万的人时
static separateThousands(price: string | number) {
return String(price || 0).replace(/\B(?=(\d{3})+(?!\d))/g, ",");
}
并像这样使用它
price: Parameters<typeof PriceHelper.separateThousands>[0],
一切都很好,但是当我像这样将其用作私有字段(带有#)时
price: Parameters<typeof PriceHelper.#separateThousands>[0],
TypeScript 抱怨此错误
ESLint:解析错误:需要标识符。
我不知道我该如何解决这个问题
答:
0赞
adam.k
5/22/2023
#1
我认为 eslint,只是不明白.如果不需要速记,可以键入#
seperateThousands
private static seperateThousands
上一个:尽量避免违反封装
下一个:基类具有不可访问的析构函数
评论
format
#separateThousands