类型推论-别名
// 声明了一个变量但是没有定义类型 TypeScript 会在没有明确的指定类型的时候推测出一个类型,这就是类型推论
import {inflate} from "zlib";
let str = "大白" // 此时已经推论出来为 字符串类型
//声明变量没有定义类型也没有赋值这时候TS会推断成any类型,可以进行任何操作
let a
a = 123
a = null
a = '是的'
// 类型别名
// type 关键字(可以给一个类型定义一个名字)
// 定义类型别名
type s = string
let s: s = "我是原神"
console.log(s);
// type 不会合并
type asd = number [] | string
interface v {
name: string | number
}
// interface 遇到重名会合并
interface v {
age: number
}
// type高级用法
// 左边的值会作为右边值的子类型遵循 any unknow 以下的包含关系
type num = 1 extends never ? 1 : 0 // 此时为 0
// // any unknow
// Object
// Number
// number string
// never