ts学习笔记二:联合类型

// 联合类型  如果不进行初始化操作 必须要给类型 否则都是any
let numOrStr: string | number;
// 默认联合类型 在没有确定类型之前 只能调用两个类型共同的方法

// 在变量确定类型后 可以设置对应的方法

numOrStr = 'abc';
numOrStr = 123;

// 如果赋予类型后,可以根据上下文自动推断对应类型的方法

// 场景?  在取值的时候也会遇到联合类型 

const ele: HTMLElement | null = document.getElementById('app');

// ! 非空断言 表示这个东西一定有值,告诉ts 按照我的想法来,如果后续出错我负责, 一定不为空  ts特有
// as / <> 直接强转某个类型 , 强制告诉人家 这个类型就是里面的某一个,墙转要求必须联合类型中有才行

// ele!.innerHTML = 'abc';

let a: string | number | undefined

// jsx 语法 <div class={}>   <boolean>a 和jsx 冲突 所以不建议使用
(a as any) as boolean; // 双重断言 先转化成any 在转换成一个具体的类型,问题是会导致类型出问题
// ? 号  aa && aa.xxx && aa.xxx.xxx  链判断运算符  ?是js中就存在的

ele?.style?.color

// || && | & | ??
false ?? true // ?? 表示排除 null和undefined



// 字面量类型  类型的内容是固定  枚举
// 如果类型过于复杂,我希望后续复用 我们可以把类型单独提取出来

type IType = 'a' | 'b' | 'c' | 'd'; // 类型别名
let type: IType = 'b'
let typ2: IType = 'c'

// | ! 这些都是用在类型里的


// as ! type


export { }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值