Interface TypeScript中的复杂接口
我不熟悉TypeScript,并尝试实现一个“复杂”的接口。我甚至不确定我想要的是否可能 我有以下javascript:Interface TypeScript中的复杂接口,interface,typescript,Interface,Typescript,我不熟悉TypeScript,并尝试实现一个“复杂”的接口。我甚至不确定我想要的是否可能 我有以下javascript: var simpleSetting = { setting1: 'test', setting2: 1 }; 为此,我可以创建如下界面: interface SimpleSetting { setting1: string; setting2: number; } var simpleSetting: SimpleSetting = { setting1: '
var simpleSetting = { setting1: 'test', setting2: 1 };
为此,我可以创建如下界面:
interface SimpleSetting {
setting1: string;
setting2: number;
}
var simpleSetting: SimpleSetting = { setting1: 'test', setting2: 1 };
然后像这样使用它:
interface SimpleSetting {
setting1: string;
setting2: number;
}
var simpleSetting: SimpleSetting = { setting1: 'test', setting2: 1 };
我想做的是为这个声明定义一个接口:
var setting = {
data: {
simpleData: {
enable: true
},
view: {
expandSpeed: ""
}
}
};
我知道我可以创造这样的东西:
interface View {
expandSpeed : string;
}
interface Data {
simpleData: SimpleData;
view : View;
}
interface ComplexSetting {
data : Data;
}
interface ComplexSetting {
data: {
simpleData: {enable: boolean;};
view: {expandSpeed: string;};
};
}
要实现我想要的,但是否可以仅通过删除一个接口而不是三个接口来实现相同的结果?当然可以,只需像这样内联内部接口:
interface View {
expandSpeed : string;
}
interface Data {
simpleData: SimpleData;
view : View;
}
interface ComplexSetting {
data : Data;
}
interface ComplexSetting {
data: {
simpleData: {enable: boolean;};
view: {expandSpeed: string;};
};
}
为什么我们结束
enable:boolean代码>和带有的属性声明
带分号的内部数据类型为什么不像下面这样使用逗号{simpleData:{enable:boolean},view:{expandSpeed:string}