亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

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
提交
取消