问答详情
源自:4-2 Interface 接口

函数参数使用接口

老师,

interface Info {name:str,age:number}

function fn (row:Info):void {}

一个表格,有20列,当点击某一行时,需要把20列的信息作为详情展示出来,

当row参数使用接口时,是不是Info接口需要把这20个字段都要声明下,感觉好麻烦。

还是直接把row的类型指明为any ?这样反而更简洁

提问者:前端工程师666777888 2022-12-02 08:25

个回答

  • 宝慕林5529061
    2025-01-10 15:23:09

    • 定义完整的接口:虽然一开始觉得将Info接口声明包含 20 个字段比较麻烦,但这是一种更规范和可靠的方式。它明确了数据的结构和类型,使得代码更加清晰、易于理解和维护。例如:

    interface Info {    col1: string; // 假设第一列是字符串类型    col2: number;    col3: boolean;    //... 依次声明其他17列的类型    col20: string; }

    • 使用类型别名简化接口声明:如果觉得在接口中直接声明 20 个字段过于冗长,可以使用类型别名来简化。例如:

    type ColumnType = string | number | boolean; // 定义一个联合类型,表示列可能的类型 interface Info {    [key: string]: ColumnType; // 使用索引签名,表示Info接口可以有任意字符串键,值为ColumnType类型 }

    样既保证了类型的准确性和安全性,又在一定程度上简化了代码的书写