Javascript 如何根据对象的属性创建接口?
我正在使用最新的TypeScript和Angular,我有一个对象:Javascript 如何根据对象的属性创建接口?,javascript,angular,typescript,interface,Javascript,Angular,Typescript,Interface,我正在使用最新的TypeScript和Angular,我有一个对象: const obj: ObjInterface = { prop1: 1, prop2: 2, prop3: '3' } 我还有基于该对象的接口: interface ObjInterface { prop1: number; prop2: number; prop3: string; } 是否可以创建仅由obj的属性组成的数组接口 const array: SomeInterface = ['prop1
const obj: ObjInterface = {
prop1: 1,
prop2: 2,
prop3: '3'
}
我还有基于该对象的接口:
interface ObjInterface {
prop1: number;
prop2: number;
prop3: string;
}
是否可以创建仅由obj
的属性组成的数组接口
const array: SomeInterface = ['prop1', 'prop2', 'prop3']; // OK
const array: SomeInterface = ['prop1', 'prop2', 'prop4']; // error
您可以使用
keyof
操作符创建一个类型的键数组
interface ObjInterface {
prop1: number;
prop2: number;
prop3: string;
}
const array: Array<keyof ObjInterface> = ['prop1', 'prop2', 'prop3']; // OK
const array2: Array<keyof ObjInterface> = ['prop1', 'prop2', 'prop4']; // error
接口对象接口{
建议1:数字;
建议2:数字;
prop3:字符串;
}
常量数组:数组=['prop1','prop2','prop3'];//好啊
常量数组2:Array=['prop1','prop2','prop4'];//错误
注意这将是一个编译时错误,在运行时,如果您在类型系统之外冒险或使用类型断言,则可以在数组中使用不同的字符串。运行时不存在接口