Ts之类型推论-别名

64 阅读1分钟

类型推论-别名

// 声明了一个变量但是没有定义类型    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