TypeScript基础-类型兼容性

南山隐士 2022年06月25日 30 0

开始

interface numbered {
  num: number
}
let x:numbered
let y = {num: 1, name: 'YaoJin'}
x = y // 可以的, 因为y中有num这个数字类型

// y = x // 错误, 因为x中,没有y需要的name

在这个例子中,我们可以看到y 可以兼容 x, 但是x不能兼容y, 因为x少了y 需要的name属性

比较两个函数

规则在函数中同样是适用的

// 比较两个函数
let test1 = (x: number):void => {
  console.log(x)
}

let test2 = (x:number, y: string):void => {
  console.log(111)
}
test2 = test1
test1 = test2

枚举

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

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

let status1 = Status.Ready;
// status = Color.Green;  // Error
Last Updated: 2022/06/25 19:13:35
TypeScript基础-类型推论 TypeScript基础-命名空间