美文网首页TypeScript
TypeScript interface(三) 函数类型 可索引

TypeScript interface(三) 函数类型 可索引

作者: 邢走在云端 | 来源:发表于2019-10-23 11:11 被阅读0次

    函数类型

    接口能够描述JavaScript中对象拥有的各种各样的外形。 除了描述带有属性的普通对象外,接口也可以描述函数类型。 ---- 中文官方文档

    自己写的demo🌰:

    // 函数类型
    interface Add {
      (a:number, b:number):number
    }
    
    let sum:Add = function (a:number, b:number) {
      return a + b;
    }
    
    console.log(sum(1,3));
    

    对于函数类型的类型检查来说,函数的参数名不需要与接口里定义的名字相匹配 ,甚至不需要指定类型,TypeScript的类型系统会推断出参数类型。

    interface Add {
      (a:number, b:number):number
    }
    
    let sum:Add = function (c, d) {
      return c + d;
    }
    
    console.log(sum(1,3));
    

    函数中的 c、d两个参数只是形式参数,只要参数类型、位置相匹配就行。

    可索引的类型

    可索引类型具有一个 索引签名,它描述了对象索引的类型,还有相应的索引返回值类型。

    官网demo🌰

    通过number类型索引,得到string类型的返回值

    interface StringArray {
      [index: number]: string;
    }
    
    let myArray: StringArray;
    myArray = ["Bob", "Fred"];
    
    let myStr: string = myArray[0];
    

    我的demo🌰

    通过string类型索引,得到number数字类型的返回值

    interface Person {
      [index: string]: number
    }
    
    let person: Person;
    person ={
      "age": 18
    };
    
    let age: number = person["age"];
    console.log(age);  // 18
    

    相关文章

      网友评论

        本文标题:TypeScript interface(三) 函数类型 可索引

        本文链接:https://www.haomeiwen.com/subject/tvwhvctx.html