类型推论
不写:的情况下,会自动推断变量的类型,默认any
类型别名
// type s = string
// let str:s = '鹤鸣'
// type s = number[] & B
// type s = number[] | string
// interface A extends B {
// name:string | number
// }
// interface B {
//
// }
// extends 包含的意思
// 左边的值 会作为右边类型的子类型
// 1.any unknown
// 2.Object
// 3.Number
// 4.number string
// 5.never
type num = 1 extends number ? 1 : 0
nvner类型
//nvner 类型
// type A = string & number
// function hm():never{
// throw new Error()
// }
// type A = '唱' | '跳' | 'rap'
// function hm(value:A){
// switch (value){
// case "唱":
// break
// case "跳":
// break
// case "rap":
// break
// default:
// const error:never = value
// break
// }
// }