首页 > 其他分享 >typeScript学习-TS类型-其他特殊类型-never

typeScript学习-TS类型-其他特殊类型-never

时间:2023-08-11 10:14:14浏览次数:42  
标签:dataFlowAnalysisWithNever typeScript dataFlow never TS number DataFlow 类型

typeScript学习

其他特殊类型:

any, unknown, never, void, 元组(tuple), 可变元组

never:

// dataFlowAnalysisWithNever 方法穷尽了 DataFlow 的所有可能类型。
// 使用 never 避免出现未来扩展新的类没有对应类型的实现,目的就是写出类型绝对安全的代码。
type DataFlow = string | number

// type DataFlow = string | number | boolean
function dataFlowAnalysisWithNever(dataFlow:DataFlow){
  if(typeof dataFlow === 'string'){
    console.log("字符串类型:",dataFlow.length)
  }else if(typeof dataFlow === 'number'){
    console.log("数值类型:",dataFlow.toFixed(2))
  }else{
    // 当前 data 为 never 类型
    let data = dataFlow  
  }
}
dataFlowAnalysisWithNever("abc") dataFlowAnalysisWithNever(3.1415926)

 

标签:dataFlowAnalysisWithNever,typeScript,dataFlow,never,TS,number,DataFlow,类型
From: https://www.cnblogs.com/kongbaige/p/17622305.html

相关文章

  • typeScript学习-TS类型-合成类型
    typeScript学习合成类型:联合类型,交叉类型联合类型:letstr:srting|number="abc"str=3交叉类型:typeObj1={username:string}typeObj2={age:number}letobj:Obj1={username:'zhangsan'}letobj2:Obj2={age:23}letobj3:Obj1&Obj2={username:&#......
  • typeScript学习-TS类型-字面量数据类型
    typeScript学习字面量数据类型://typeA=number|string//leta:A="abc"//typenum=number//letn:num=3typenum=1|2|3letn:num=2//错误情况//letn:num=4typeincreaseFlag=0|1functionisStartUp(increase:increaseFlag){if(in......
  • typeScript学习-TS类型-枚举
    typeScript学习枚举:enum枚举的定义:用来存放一组固定的常量的序列。枚举带来的好处:1、有默认值和可以自增值,节省编码时间2、语义更清晰,可读性增强,因为枚举是一种值类型的数据类型,方法参数可以明确参数类型为枚举类型enumWeekEnd{Monday="myMonday",//......
  • typeScript学习-TS类型-接口
    typeScript学习接口:定义:另一种定义对象类型的类型接口应用场景:1、一些第三方包或者框架底层源码中有大量的接口类型2、提供方法的对象类型的参数时使用3、为多个同类别的类提供统一的方法和属性声明如何定义接口:继承接口:新的接口只是在原来接口集成之上增加......
  • BootstrapBlazor组件库,组件方法的表达式传参
    BootstrapBlazor组件库,组件方法的表达式传参有时候我们在循环中创建组件的时候,可能想把item的值也一并传入组件的方法事件中去处理,有很多小伙伴就不知道如何去调用事件了。下面是一段实例代码,通过循环遍历来创建图片,并且创建一个删除图片的按钮,这个按钮的OnConfirm方法需要把图......
  • ECharts实现两条曲线数据比较,数据高出区域高亮显示
    显示效果: 代码实现:<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"/><metaname="viewport"content="width=device-width,initial-scale=1.0"/><title>EChar......
  • 解决mysqladmin flush-hosts
    1、提高允许的max_connect_errors数量(治标不治本)a.命令行修改 修改max_connection_errors的数量为1000 mysql-h123.57.78.101-P3306-uroot-p123456 setglobalmax_connect_errors=1000; showvariableslike‘%max_connect_errors%’;b.配置文件修改 登陆进入M......
  • ubuntu putty ntsysv 图形化命令界面 错位 乱码
    有待验证 ntsysv zhcon是工作在Linux控制台下的高效双字节中/日/韩(CJK)虚拟终端,就像DOS环境中的UCDOS一样,为控制台(console)环境提供完整的双字节语言环境。 apt-getinstallzhcon#adduser$(whoami)video#添加当前用户到video中zhcon--utf8#运行zhcon(注意:输入的是......
  • vscode中使用echarts(横向柱形图)
    第一步:引入echartsimport*asechartsfrom"echarts";第二步:准备一个放入echarts的盒子<template><div><divclass="bar"></div></div></template>第三步:绘制图表drawBar(){letmyChart=echarts.init(d......
  • 使用 WebSockets、React 和 TypeScript 构建实时投票应用程序
    长话短说WebSocket允许您的应用程序具有“实时”功能,其中更新是即时的,因为它们是在开放的双向通道上传递的。这与CRUD应用程序不同,CRUD应用程序通常使用HTTP请求,必须建立连接、发送请求、接收响应,然后关闭连接。要在React应用程序中使用WebSockets,您需要一个专用服务器,例......