Typescript 使用相同字段名但类型不同的键入

Typescript 使用相同字段名但类型不同的键入,typescript,types,record,Typescript,Types,Record,假设我有如下类型: 类型对象={ 远场:弦; 另一个字段:数字; // ... } 我想创建一个具有所有相同字段但具有布尔值的掩码类型: 类型ThingMask={ 远场:布尔; 另一个字段:布尔值; // ... } 有没有一种方法可以通过编程实现这一点,而不必硬编码掩码类型?是的,您需要: 请注意,默认情况下,这也将复制只读和可选?从原始类型到映射类型的修饰符。如果您不想发生这种情况,可以使用-readonly或-?。但既然你没问我,我就不多说了 希望有帮助;祝你好运 type ThingM

假设我有如下类型:

类型对象={ 远场:弦; 另一个字段:数字; // ... } 我想创建一个具有所有相同字段但具有布尔值的掩码类型:

类型ThingMask={ 远场:布尔; 另一个字段:布尔值; // ... } 有没有一种方法可以通过编程实现这一点,而不必硬编码掩码类型?

是的,您需要:

请注意,默认情况下,这也将复制只读和可选?从原始类型到映射类型的修饰符。如果您不想发生这种情况,可以使用-readonly或-?。但既然你没问我,我就不多说了

希望有帮助;祝你好运

type ThingMask = { [K in keyof Thing]: boolean };
/* type ThingMask = {
    aField: boolean;
    anotherField: boolean;
} */