为了账号安全,请及时绑定邮箱和手机立即绑定

TypeScript学习之接口

标签:
JavaScript

一、基本用法

  interface Point {    x: number;
    y: number;
  }  let p: Point = {x:10, y:20};   
//可选属性   ?
    interface Point {      x: number;
      y: number;
      z?: number;
    }    let p: Point = {x:10, y:20};    let p: Point = {x:10, y:20,z:30};//只读属性interface Point {
  readonly x: number;
  readonly y: number;
}let p: Point = {x:10, y:20};let p.x = 50//error!//函数类型interface ShowInfo {
  (name: string, age: number): string;
}let show = function (name: string, age: number): string {  return `name: ${name}+age:${age}`;
}//可索引的类型
 interface StringArray{
    [index: number]: string
 } let arr: StringArray;
 arr = ['a','b'];//类类型interface IClock {  currentTime: Date;
  setTime(d: Date);
}class Clock implements IClock{
    currentTime: Date;    constructor(h: number, m:number){}
    setTime(d: Date){        this.currentTime = d;
    }
}

二、接口继承

    interface Shape {
        color: string;
    }    interface Square extends Shape{
        sideLength: number;
    }
    let square = <Square>{};
    square.color = "blue";
    square.sideLength = 10;

三、混合类型

一个接口中定义多种类型,比如属性,函数,数组等

   interface Counter {
        (start: number): string;
        interval: number;
        reset():void;
    }    function getCounter(): Counter {
        let counter = <Counter> function(start: number){};
        counter.interval = 123;
        counter.reset = function () {};        return counter;
    }
    let c = getCounter();
    c(10);
    c.interval = 5;
    c.reset();



作者:大富_大贵
链接:https://www.jianshu.com/p/82b114292528


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

举报

0/150
提交
取消