第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

TypeScript學習之類型兼容性

標簽:
JavaScript

一、基础

TypeScript里的类型兼容性是基于结构子类型的。
结构类型是一种只使用其成员来描述类型的方式
规则:如果x要兼容y,那么y至少具有与x相同的属性(x是y的子集)

interface Named {
  name: string;
}let x: Named;let y = { name: 'Alice', location: 'Seattle' };
x = y;
函数
//比较两个函数let x = (a: number) => 0;let y = (b: number, s: string) => 0;

y = x; // OKx = y; // Error
枚举

枚举类型与数字类型兼容,并且数字类型与枚举类型兼容。
不同枚举类型之间是不兼容的

enum Status { Ready, Waiting };enum Color { Red, Blue, Green };

let status = Status.Ready;
status = Color.Green;  //error

比较两个类类型的对象时,只有实例的成员会被比较。 静态成员和构造函数不在比较的范围内

class Animal {
  feet: number;  constructor(name: string, numFeet: number) { }
}class Size {
  feet: number;  constructor(numFeet: number) { }
}let a: Animal;let s: Size;

a = s;  //OKs = a;  //OK
类的私有成员

私有成员会影响兼容性判断。 当类的实例用来检查兼容时,如果目标类型包含一个私有成员,那么源类型必须包含来自同一个类的这个私有成员。 这允许子类赋值给父类,但是不能赋值给其它有同样类型的类。

泛型

对于没指定泛型类型的泛型参数时,会把所有泛型参数当成any比较

interface NotEmpty<T> {
  data: T;
}
let x: NotEmpty<number>;
let y: NotEmpty<string>;

x = y;  // error, x and y are not compatible



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


點擊查看更多內(nèi)容
TA 點贊

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

評論

作者其他優(yōu)質(zhì)文章

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

100積分直接送

付費專欄免費學

大額優(yōu)惠券免費領(lǐng)

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

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報

0/150
提交
取消