Typescript是否每个输入参数都应该是带有接口的对象,即使很简单?
typescript接口是否打算在每个可能的输入参数中使用?如果没有,什么是截止时间,他们应该和不应该使用 例如,这样做有意义吗Typescript是否每个输入参数都应该是带有接口的对象,即使很简单?,typescript,types,interface,Typescript,Types,Interface,typescript接口是否打算在每个可能的输入参数中使用?如果没有,什么是截止时间,他们应该和不应该使用 例如,这样做有意义吗 interface IOne { myFirstVal: string } interface ITwo { mySecondVal: number } function one (input: IOne) { const { myFirstVal } = input ... } function two (input: ITwo) {
interface IOne {
myFirstVal: string
}
interface ITwo {
mySecondVal: number
}
function one (input: IOne) {
const { myFirstVal } = input
...
}
function two (input: ITwo) {
const { mySecondVal } = input
...
}
如果上面的内容没有意义,那么我假设我应该传入原语,如下所示:
函数一(myFirstVal:string){…}
如果应该使用原语,那么与第一个示例中定义的对象相比,什么时候应该使用原语?我认为这取决于具体情况,以及您在程序中构建类型的方式。有时,您会发现为某些东西创建接口或类型是必要的。例如,如果您正在创建一种类型的
人
,那么这将是一个很好的接口候选。因为我们可以假设它们具有属性,并且是一个对象。比如:
interface Person {
name: string;
hobbies: string[];
weight: number;
}
let password: string = "my password";
但是,如果我们只讨论一个值。密码之类的。这可能只是一种基本类型。这可能是您在声明变量时可以直接在程序中键入。比如:
interface Person {
name: string;
hobbies: string[];
weight: number;
}
let password: string = "my password";
在您使用IOne
和ITwo
的示例中,您只需考虑这些是否真的需要成为对象。接口只能有一个值,这很好,但若它们只有一个值,那个么询问它并查看是否需要它也是一个好时机。也许你可以使用你提到的基本类型
typescript的目标不是让所有的东西都有接口。这是为了帮助您的程序更具弹性,并帮助您在开发过程中尽早发现错误。这一切都取决于您在函数中执行的操作。如果函数只需要原语,即
字符串
作为输入,则不需要将完整对象作为参数发送。