首页 > 其他分享 >Ts数据类型

Ts数据类型

时间:2023-06-21 16:25:49浏览次数:40  
标签:string 数据类型 number Ts let 类型 any name

如何进行类型约束

仅需要在 变量、函数的参数、函数的返回值位置加上:类型

ts在很多场景中可以完成类型推导

any: 表示任意类型,对该类型,ts不进行类型检查

基本类型

  • number:数字
  • string:字符串
  • boolean:布尔
  • 数组
  • object: 对象
  • null 和 undefined

null和undefined是所有其他类型的子类型,它们可以赋值给其他类型

通过添加strictNullChecks:true,可以获得更严格的空类型检查,null和undefined只能赋值给自身。

 # 举个例子-应用场景
  function isOdd(n: number):boolean {
    return n % 2 === 0;
  }

  let nums: number[] = [3, 4, 5];

  let nums: Array<number> = [3, 4, 5]; 

  let u:object = {};

  let test: string = null;
  function printValues(obj: object) {
    const vals = Object.values(obj);
    vals.forEach(v => console.log(v))
  }

其他常用类型

  • 联合类型:多种类型任选其一

配合类型保护进行判断

类型保护:当对某个变量进行类型判断之后,在判断的语句块中便可以确定它的确切类型,typeof可以触发类型保护。

  • void类型:通常用于约束函数的返回值,表示该函数没有任何返回

  • never类型:通常用于约束函数的返回值,表示该函数永远不可能结束

  • 字面量类型:使用一个值进行约束

  • 元祖类型(Tuple): 一个固定长度的数组,并且数组中每一项的类型确定

  • any类型: any类型可以绕过类型检查,因此,any类型的数据可以赋值给任意类型

 # 举个例子-应用场景
  let name: string | undefined;
  if(typeof name === 'string') { // 触发类型保护
    // name
  }
   function SayHi(): void {
    console.log("Hello HuangBingQuan!")
   }
   function throwError(msg: string):never { // nerver通常用于约束函数的返回值,表示这个函数永远不会结束
     throw new Error(msg)
     console.log("111")
   }

  let a: 6;
  a = 6;

  let gender: "男" | "女";
  gender = "男"

  let user: { name: string, age: number };
  user = {
    name: "34",
    age: 33
  }

  let tu: [string, number];
  tu = ["3", 4];

  let data:any = "sasdas";
  let num:number = data;

标签:string,数据类型,number,Ts,let,类型,any,name
From: https://www.cnblogs.com/bingquan1/p/17496532.html

相关文章

  • InputStream和Reader区别
    InputStream,OutputStream  前者为字节输入流,后者为字节输出流。Reader   Writer  前者为字符输入流,后者为字符输出流。四个均为抽象类。fileInputStream 是InputStream 的实现类  fileReader 是Reader 的实现类字节流读取单位为一个字节,字符流读取单位为一个字符......
  • TSN CoreSolutuon开启时间敏感网络测试自动化新篇章
    随着下一代车载网络的快速发展,OEM和TIER1在开发和验证复杂车载网络通信的过程中面临很多新的挑战。为了更好地满足网络测试方面的需求,TSNSystems在原先TSNBox和TSNTools测量工具的基础上,集成了相关的应用程序接口,用来支持各种场景下的自动化测试。这一测试工具链也被正式更名为......
  • PG-DBA培训04:PostgreSQL数据类型与数据库设计规范
    一、风哥PG-DBA培训04:PostgreSQL数据类型与数据库设计规范本课程由风哥发布的基于PostgreSQL数据库的系列课程,本课程属于PostgreSQL数据库SQL开发与应用实战阶段之PostgreSQL数据类型与数据库设计规范,学完本课程可以掌握PostgreSQLSQL语句基础讲解,PostgreSQLSQL语言基础知识,安......
  • PG-DBA培训04:PostgreSQL数据类型与数据库设计规范
    一、风哥PG-DBA培训04:PostgreSQL数据类型与数据库设计规范本课程由风哥发布的基于PostgreSQL数据库的系列课程,本课程属于PostgreSQL数据库SQL开发与应用实战阶段之PostgreSQL数据类型与数据库设计规范,学完本课程可以掌握PostgreSQLSQL语句基础讲解,PostgreSQLSQL语言基础知识,安装......
  • [ERROR] No loader is configured for ".node" files: node_modules/fsevents/fsevent
    解决方法:修改项目中./node_modules/fsevents/fsevents.js文件//修改constNative=require("./fsevents.node")//更改为constNative=window.require("./fsevents.node")......
  • 1595. Minimum Cost to Connect Two Groups of Points] (Hard)
    Description1595.MinimumCosttoConnectTwoGroupsofPoints(Hard)Youaregiventwogroupsofpointswherethefirstgrouphassize1points,thesecondgrouphassize2points,andsize1>=size2.Thecostoftheconnectionbetweenanytwopointsar......
  • /etc/resolv.conf中options ndots是什么意思?
     意思是,当查询的名称,也就是主机名中,包括大于等于ndots定义的.的个数时,优先使用全名称查询,查询不到再和search进行拼接,之后查询  示例:  ......
  • vue3+vite+TS搭建项目
    安装npm安装方式npminitvue@latestpnpm安装方式(二选一)pnpmcreatevue@latest然后设置项目名称,接着选择自己需要的配置,安装完成......
  • ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+错误的处理
    1、原因这个问题是python版本安装的urllib3版本过高,而openssl版本太低导致的2、解决方法2.1、升级openssl版本#[email protected]#[email protected]#安装好后,查看openssl版本是否升级到最新python......
  • svg clipPath的clipPathUnits和相对路径转换
    clipPathUnits属性用来指定<clipPath>元素内容的坐标系,有2种取值:clipPathUnits="userSpaceOnUse|objectBoundingBox"clipPathUnits="userSpaceOnUse|objectBoundingBox"userSpaceOnUse表示当前网页所使用的屏幕坐标系objectBoundingBox则把坐标空间的原点调整到被......