在TypeScript中,你可以使用typeof
操作符和泛型来获取常量数组元素的类型。以下是一个示例:
// 定义一个常量数组
const constantArray = [1, 2, 3, 4, 5] as const;
// 获取常量数组元素类型
type ElementType = typeof constantArray[number];
// 使用ElementType类型
const newArray: ElementType[] = [6, 7, 8];
as const
: 这个关键字用于将数组或对象标记为只读,并且将其元素或属性标记为字面量类型。typeof
: 这个操作符用于获取变量或表达式的类型。ElementType
: 这是一个由typeof constantArray[number]
推导出的联合类型,包含了常量数组中所有元素的类型。// 定义一个常量数组
const constantArray = [1, 2, 3, 4, 5] as const;
// 获取常量数组元素类型
type ElementType = typeof constantArray[number];
// 使用ElementType类型
const newArray: ElementType[] = [6, 7, 8];
// 函数接受ElementType类型的参数
function processElement(element: ElementType) {
console.log(element);
}
processElement(9); // 正确
processElement('string'); // 错误,类型不匹配
通过这种方式,你可以确保在使用常量数组元素类型时,TypeScript编译器能够提供准确的类型检查和自动补全功能,从而提高开发效率和代码质量。
领取专属 10元无门槛券
手把手带您无忧上云