二.ts基础类型

ts的基础类型包含js的基础类型和ts独有的基础类型
我们一般使用[let | const | val] 变量:类型 = 值的方式声明一个带有类型的变量

  1. string
    let val:string = '1'
    
  2. number
    let val:number= 1
    
  3. boolearn
    let val:boolaern= false
    
  4. undefind
    let val:undefind= undefind
    
  5. null
    let val:null= null
    
  6. symbol
    let val:symbol= Symbol('1')
    
  7. any
    TypeScript 允许我们对 any 类型的值执行任何操作,而无需事先执行任何形式的检查。所以如果你给变量定义了any类型则相当于你直接使用js进行开发。一般我们做项目迁移从js转ts的时候,为了避免大部分变量报错我们会使用any类型。日常开发中,该类型应该慎用。
    let anyVal:any = 1
    anyVal = '1'
    anyVal = {}
    
    以上结果都不会报错。
  8. unknown
    unknown 类型和any类型从某种意义上来说是极为相似的。定义一个unknown 类型的变量也可以赋任何值
    let unknownVal: unknown  = 1
    unknownVal = '1'
    unknownVal = {}
    
    但是他也有与any类型不同之处。它只能被赋值给any或者unknown 类型的变量
    let unknownVal1: unknown  = unknownVal
    let unknownVal2: any  = unknownVal
    let unknownVal3: number  = unknownVal  //报错
    
  9. void
    某种程度上来说,void 类型像是与 any 类型相反,它表示没有任何类型。当一个函数没有返回值时,你通常会见到其返回值类型是 void
    // 声明函数返回值为void
    function warnUser(): void {console.log("This is my warning message");
    }
    

    需要注意的是,声明一个 void 类型的变量没有什么作用,因为在严格模式下,它的值只能为 undefined

  10. never
    never 类型表示的是那些永不存在的值的类型。 常见的使用场景是在表达式(如函数)的返回类型,表示它们永远不会正常返回(即陷入死循环、抛出异常等),或在类型推断中返回不可能出现的类型。
    function assertNever(x: never): never {throw new Error("Unexpected object: " + x);
    }function colorFromCode(code: string): "red" | "blue" | "green" {switch (code) {case "R": return "red";case "B": return "blue";case "G": return "green";default: return assertNever(code);}
    }
    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/213512.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Kubernetes实战(九)-kubeadm安装k8s集群

1 环境准备 1.1 主机信息 iphostname10.220.43.203master10.220.43.204node1 1.2 系统信息 $ cat /etc/redhat-release Alibaba Cloud Linux (Aliyun Linux) release 2.1903 LTS (Hunting Beagle) 2 部署准备 master/与slave主机均需要设置。 2.1 设置主机名 # master h…

成都工业学院Web技术基础(WEB)实验五:CSS3动画制作

写在前面 1、基于2022级计算机大类实验指导书 2、代码仅提供参考,前端变化比较大,按照要求,只能做到像,不能做到一模一样 3、图片和文字仅为示例,需要自行替换 4、如果代码不满足你的要求,请寻求其他的…

使用PyTorch II的新特性加快LLM推理速度

Pytorch团队提出了一种纯粹通过PyTorch新特性在的自下而上的优化LLM方法,包括: Torch.compile: PyTorch模型的编译器 GPU量化:通过降低精度操作来加速模型 推测解码:使用一个小的“草稿”模型来加速llm来预测一个大的“目标”模型的输出 张量并行:通过在多个设备…

成都工业学院Web技术基础(WEB)实验三:CSS字体等属性使用

写在前面 1、基于2022级计算机大类实验指导书 2、代码仅提供参考,前端变化比较大,按照要求,只能做到像,不能做到一模一样 3、图片和文字仅为示例,需要自行替换 4、如果代码不满足你的要求,请寻求其他的…

Oracle 慢查询排查步骤

1. Oracle 慢查询排查步骤 1.1. 前言 记录一次 Oracle 慢查询的排查过程 , 便于以后直接使用。 看了一些文档 , Oracle 中优化的方案和 Mysql 基本上是一致的 , 通常包括一下几个方向 : 基准测试 (吞吐量): 包括 Oracle 本身吞吐量和磁盘 I/O 吞吐量 硬件分析 (资源情况): 包…

rails3 row sql example

refer: https://stackoverflow.com/questions/14824453/rails-raw-sql-example 搜索怎么在Rails3 使用row sql, 打开上面的链接,可以找到这样的答案,如下图: sql "Select * from ... your sql query here" records_ar…

Nginx的server层外层的常见配置语句的解读

有下面的Nginx配置: worker_processes auto; worker_rlimit_nofile 51200;events {use epoll;worker_connections 51200;multi_accept on; }http {include mime.types;default_type application/octet-stream;server_names_hash_bucket_size 512;client_max_body_size 50m;cli…

推荐4个优秀的 Python 时间序列分析库

时间序列分析在金融和医疗保健等领域至关重要,在这些领域,理解随时间变化的数据模式至关重要。在本文中,我们将介绍四个主要的Python库——statmodels、tslearn、tssearch和tsfresh——每个库都针对时间序列分析的不同方面进行了定制。这些库…

最长子字符串的长度 (一) - 华为OD统一考试(C卷)

OD统一考试(C卷) 分值: 100分 题解: Java / Python / C 题目描述 给你一个字符串 s,字符串s首尾相连成一个环形,请你在环中找出字符出现了偶数次最长子字符串的长度。 输入描述 输入是一串小写字母组成的…

VS2015编译GDAL3.2.0+opencl+C#

参考借鉴https://www.cnblogs.com/litou/p/15004877.html 参考借鉴https://www.cnblogs.com/xiaowangba/p/6313903.html 参考借鉴gdal、proj、geos、sqlite等在VS2015下编译和配置_vs2015编译sqlite3-CSDN博客 参考借鉴Windows下GDAL3.1.2编译 (VS2015)_gdal windows编译-CS…

字符串String

字符串字面量 let s "hello";变量s属于字符串字面量,它们属于硬编码进程序的字符串值,属于不可变的类型。但并不是所有字符串的值都能够在编写代码时确定。 String类型 String类型会在堆上分配到自己需要的存储空间,所以它能够…

Nacos简介

1.Nacos简介 1.1.为什么叫Nacos? 前四个字母分别为Naming和Configuration的前两个字母,最后的s为service。 1.2.Nacos是什么? nacos是第二代微服务SpringCloudAlibaba开源的一款注册中心和分布式配置中心组件,其功能上为第一代微…

声明式数据建模、定义简单易懂:下一代 ORM 助你效率倍增 | 开源日报 No.102

prisma/prisma Stars: 34.0k License: Apache-2.0 Prisma 是一个下一代 ORM,包括以下工具: Prisma Client:为 Node.js 和 TypeScript 自动生成的类型安全查询构建器Prisma Migrate:声明式数据建模和迁移系统Prisma Studio&#…

山人求道篇:五、交易中的大道至简与奥卡姆剃刀

量化的剃刀不是减去因子、减去代码,而是减去冗余信息量 市面上有的策略对各品种设置了不同参数,每个品种进场不一样就算了,出场参数还不一样,那你说他到底赚的是什么利润呢? 他自己也不知道,主要目的是为…

鸿蒙应用开发(二)环境搭建

开发流程 IDE下载 首先下载HUAWEI DevEco Studio,介绍首次启动DevEco Studio的配置向导: 运行已安装的DevEco Studio,首次使用,请选择Do not import settings,单击OK。安装Node.js与ohpm。node.js 是基于 V8 引擎构…

JavaScript常用技巧专题二

文章目录 一、前言二、生成随机字符串三、转义HTML特殊字符四、单词首字母大写五、将字符串转换为小驼峰六、删除数组中的重复值七、移除数组中的假值八、获取两个数字之间的随机数九、将数字截断到固定的小数点十、日期10.1、计算两个日期之间天数10.2、从日期中获取是一年中的…

【Java编程实现 9 * 9 乘法表格打印四种形态,七种打法】

Java编程实现 9 * 9 乘法表格打印四种形态,七种方法打印 废话篇打印 9 * 9 乘法表格嵌套for循环实现左下角打印嵌套for循环实现左上角打印嵌套for循环实现右上角打印嵌套for循环实现右下角打印 使用while循环打印 9 * 9 乘法表格(一)使用whil…

1003 我要通过!

“答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于 PAT 的“答案正确”大派送 —— 只要读入的字符串满足下列条件,系统就输出“答案正确”,否则输出“答案错误”。 得到“答案正确”的条件是: 字符串中必须仅有 P、 A、 T这三种…

详解Keras3.0 Layers API: Core layers

1、Input keras.Input(shapeNone,batch_sizeNone,dtypeNone,sparseNone,batch_shapeNone,nameNone,tensorNone, ) 参数说明 shape: 输入张量的形状。如果为None,则可以动态地指定形状。batch_size: 批处理大小。如果为None,则可以动态地指定批处理大小…

基于SpringBoot+Vue前后端分离的景点数据分析平台(Java毕业设计)

大家好,我是DeBug,很高兴你能来阅读!作为一名热爱编程的程序员,我希望通过这些教学笔记与大家分享我的编程经验和知识。在这里,我将会结合实际项目经验,分享编程技巧、最佳实践以及解决问题的方法。无论你是…