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

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

【備戰春招】第1天 接口、接口高級技巧

標簽:
JavaScript

课程名称GO开发工程师

课程章节:第6章:TS之面向对象:接口、类、泛型

课程讲师ccmouse

课程内容

一. 接口

接口:描述一个类型

示例错误:报错提示缺少某个字段 -> ts中的接口不需要实现,只需要符合interface描述的类型就行
图片描述

示例错误:只是描述 emp3 是Employee类型,并没有给定具体的值

图片描述

接口语法:
interface大多数情况下是用于定义字段,定义方法时考虑使用类定义或者在对象作为参数传递时会用到函数类型的字段

interface Employee {
    readonly firstname: string, // 只读字段
    name: String, // 接口里加, ; 或者不加都可以
    salary: number,
    bonus?: number, // 可选参数
    read
    updateBonuns(p: number): void // 方法
}

图片描述

二. 接口高级技巧

示例错误:name是可选字段,值有可能为空-> 用?链式调用可选字段
图片描述
代码示例:

interface Employee {
    salary: number,
    name?: {
        first: string,
        last: string,
    },
    bonus?: number,
}

function hasBadName_Error(e: Employee) {
    return e.name.first.startsWith('AAA') // 报错
}
function hasBadName_Correct(e: Employee) {
    return e?.name?.first.startsWith('AAA') // 可选
}
function hasBadName_Force(e: Employee) {
    return e!.name!.first.startsWith('AAA') // 一定有值 (非空断言)
}

接口的拓展:关键字extends
图片描述

类型断言:as 关键字
图片描述

//判断是否是类型WxButton
function isButton(e:WxButton | WxImage): e is WxButton{
    //判断类型,最终还是通过属性
    return (e as WxButton).onClick !== undefined
}

课程收获

interface:类型描述
设计接口应当尽量规范化、简单化,避免返回多种类型增加逻辑复杂度(类型并、类型判断、类型断)

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消