接口

作者: skoll | 来源:发表于2020-07-22 20:17 被阅读0次

实现接口

interface LabelledValue {
    label: string;
    name?:string,
  }
 
function printLabel(labelledObj: LabelledValue) {
    // 这里面检查好像不是很准确
    console.log(labelledObj.label);
  }


let myObj= {size: 10, label: "Size 10 Object"};
//printLabel({size: 10, label: "Size 10 Object"})
// 需要完全实现接口才行
// let myObj:LabelledValue={label:"name"}

printLabel(myObj);
// 这样只要传入的对象满足必要条件就是可以的

可选,只读属性

interface SquareConfig {
    color?:string,
    // 可选属性
    width?:number,
    readonly height:number,
    // 只读属性,只能在创建的时候进行修改
}

function createSquare(config:SquareConfig):{color:string,area:number}{
    let newSquare={color:"white",area:1000}

    if(config.color){
        newSquare.color=config.color
    }

    if(config.width){
        newSquare.area=config.width*config.width
    }

    return newSquare
}
 
console.log(createSquare({color:'red',width:10,height:10}))

锁死一个数组

let a:number[]=[1,2,3,4]
let ro:ReadonlyArray<any>=a
ro[0]=12
//不允许任何改变

跳过函数参数检查

let squareOptions = { colour: "red", width: 100 };
let mySquare = createSquare(squareOptions);
//将对象赋值给一个变量,然后再传入函数,是不走检查逻辑的

添加一个索引签名

interface SquareConfig{
    color?:string,
    width?:number,
    [propName:string]:any,
    // 添加一个索引签名,这就意味着这个接口的对象可以有任意数量的其他属性,
    // 并且他们的不是color,width,他们可以是任意的类型
}

接口定义函数类型

interface SearchFunc{
    (source:string,subString:string):boolean;
}

let mySearch:SearchFunc
// mySearch=function(source:string,subString:string){
//     let result=source.search(subString)
//     return result>-1
// }

mySearch=function(source,subString){
    let result=source.search(subString)
    return result>-1
}

接口定义索引类型

interface StringDict{
    [index:string]:string;
}

let str:StringDict={name:"mike",age:"20",}
//其实就是对象。。

接口继承

interface Persion{
    name:string;
}
interface Work{
    location:string|number;
}
interface Chinaese extends Persion,Work{
    age:number;
}

let zhang:Chinaese={name:"123",age:20,location:1}

相关文章

  • 接口接口接口

    发现很多朋友对于接口都很纠结,阐述一下个人对接口的理解。 接口分为很多种类型,程序语言内部接口 移动端和服务端接口...

  • Android常用接口

    不知名接口 头条接口: 科技接口: 财经接口: 军事接口: 体育接口: 房产接口: 足球接口: 娱乐接口: 电影接...

  • 第十八天 微信微博天气接口

    分享接口 微信接口 微博接口 天气接口 mob接口

  • 接口测试概述

    接口(interface)的概念 常见接口名词 接口测试: 接口测试目的: 接口测试的重要性: 接口测试流程 接口...

  • 接口测试

    接口测试概念: 接口:接口是为了提供一种服务 所有的接口统称为API,接口分为内部接口和外部接口 外部接口:测试被...

  • 接口

    接口 接口类型 空接口 接口嵌套 接口断言 type关键字

  • 线程池原理

    Callable 接口 Runnable 接口 Future接口 RunnableFuture 接口 Future...

  • JMeter-一个接口的返回值作为输入传给其他接口

    背景: 在用JMeter写接口case,遇到一种情况,接口1查看列表接口,接口2查看详情接口,接口2需要传入接口1...

  • 用户操作接口

    登陆 接口地址 获取列表 接口地址 删除 接口地址 批量删除 接口地址 编辑用户 接口地址 添加用户 接口地址

  • JAVA中的集合框架 List (二)

    Collection接口List接口简介 Collection接口、子接口及其实现类,Collection接口是j...

网友评论

      本文标题:接口

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