Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typescript是否每个输入参数都应该是带有接口的对象,即使很简单?_Typescript_Types_Interface - Fatal编程技术网

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) {

typescript接口是否打算在每个可能的输入参数中使用?如果没有,什么是截止时间,他们应该和不应该使用

例如,这样做有意义吗

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的目标不是让所有的东西都有接口。这是为了帮助您的程序更具弹性,并帮助您在开发过程中尽早发现错误。

这一切都取决于您在函数中执行的操作。如果函数只需要原语,即
字符串
作为输入,则不需要将完整对象作为参数发送。