typeScript学习笔记-02

接口

// 接口:对行为的 抽象
// 1对class的约束
// 接口定义
interface Iprinter{  //定义一个打印机
   Printing(msg:string):string; //传的参是字符串 括号外冒号后边的string表示返回的是字符串
}

interface Imessage{  
    getmsg():string; 
 }

// 实现接口Iprinter    (implements特定语法)   /实现多个接口
class colorpronter implements Iprinter,Imessage{
  Printing(msg:string):string{
      return "打印"+msg+"成功"
  }
  getmsg():string{
      return "dell"
  }

}
let p1=new colorpronter()
let val=p1.Printing('简历')
console.log(val)
console.log(p1.getmsg())
//1 实现接口 要实现里面的内容
// 2定义接口的时候,只定义声明即可,不包含具体内容

// 2对函数的约束

interface Imyfaction{  //定义接口
    (a:string,b:number):boolean;
}

let fun1:Imyfaction;
fun1=function(a:string,b:number):boolean{
    return false;
}

// 3对数组的约束
interface Istuarr{
  [index:number]:string;
}
let arr3:Istuarr;
arr3=["aa","11"]
console.log(arr3[0])
// 对json的约束

interface Idata{
    name:string,
    age:number,
    readonly sex?:string// 只读属性
    email?:string //可选属性
}


function showdata(n:Idata){
    // n.sex=11; 会报错应为sex设置的是只读的不能被修改
    n.age=11
    console.log(JSON.stringify(n))
}

showdata({name:'lisy',age:20})
原文地址:https://www.cnblogs.com/h5it/p/13360595.html