ts学习(5)

简介: ts学习(5)
  1. 类型守卫: typeof(number,string,boolean,object,function,undefined)
  2. 类型缩小:等值类型缩小(===,!==,==,!=作为判断条件的),in操作符缩小,instanceof操作符缩小,真值缩小('',undefined,null,NaN,0),分配缩小。

image.png

type Fish = {
   swim:()=>void}
type Bird = {
   fly:()=>void}
function move(animal:Fish|Bird){
   
  if('swim' in animal){
   
    return animal.swim();
  }
  return animal.fly();
}

image.png

  1. 类型谓词:is:用户自定义类型保护。

// 通过泛型定义通用类型保护函数
function isOfType<T>(
  target: unknown,
  prop: keyof T
): target is T {
   
  return (target as T)[prop] !== undefined;
}
相关文章
|
18天前
|
JavaScript
ts学习(6)
ts学习(6)
329 139
|
18天前
|
Linux 内存技术
使用npm install -g pnpm的时候报错
使用npm install -g pnpm的时候报错
299 139
|
18天前
|
JavaScript
ts学习(3)
ts学习(3)
246 137
|
18天前
|
Android开发 iOS开发
关于overflow-x:auto不生效的一个问题
关于overflow-x:auto不生效的一个问题
244 137
|
18天前
|
JavaScript
ts学习(2)
ts学习(2)
302 137
|
29天前
|
负载均衡 算法 Java
【SpringCloud(3)】Ribbon负载均衡:IRule原理轮询算法;LB负载均衡;loadbalancer和IRule组件;Ribbon和Ngin负载均衡的区别
Spring Cloud Ribbon 是基于Netflix Ribbon实现的一套客户端的负载均衡工具 简单地说,Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法和服务调用。Ribbon客户端组件提供一系列完善的配置项如连接超时、重试等。就在在配置文件中列出Load Balancer(LB)后面所有的机器,Ribbon会自动的帮助你基于某种规则(如简单轮询,随机链接等)去连接这些机器。我们很容易使用Ribbon实现自定义的负载均衡算法
315 136
|
3月前
|
人工智能 弹性计算 安全
直播预约:红帽与阿里云携手打造企业级安全智能算力
8 月 14 日晚 20:00,锁定“阿里云基础设施”视频号直播间,与行业大咖一同深度剖析 AI 时代的超级算力,共同探索企业级安全智能算力的无限可能!
|
18天前
|
JavaScript
ts学习(4)
ts学习(4)
269 137
|
26天前
|
前端开发 开发者
如何计算选择器的权重
如何计算选择器的权重
285 137
|
3月前
|
数据库连接 Python
Python 怎么处理异常?
Python 怎么处理异常?
316 147