当前位置: 首页 > news >正文

福田网站建设信科网络珠海网站营销

福田网站建设信科网络,珠海网站营销,爱字幕app制作视频软件下载,中国查公司的网站一、基础类型 1、boolean 布尔类型 表示逻辑值#xff0c;可以是 true 或 false let isBoolean:boolean false 2、number 数字类型 表示整数和浮点数#xff08;例如 42#xff0c;3.14159#xff09;#xff0c;不论是十进制、二进制、八进制还是十六进制#xff…一、基础类型 1、boolean 布尔类型 表示逻辑值可以是 true 或 false let isBoolean:boolean false 2、number 数字类型 表示整数和浮点数例如 423.14159不论是十进制、二进制、八进制还是十六进制都是number类型 let decimal: number 6; let hex: number 0xf00d;3、string 字符串类型 表示文本类型的数据使用单引号或双引号包围 let color: string blue; color red; 4、array 数组类型 表示一个元素列表元素类型相同。有两种方式可以定义数组两种写法是等价的都可 let list: number[] [1, 2, 3]; let list: Arraynumber [1, 2, 3];5、tuple 元组类型 表示一个已知元素数量和类型的数组各元素的类型可以不必相同 let x: [string, number] [您好, 666] 6、enum 枚举类型 enum类型是对JavaScript标准数据类型的一个补充使用枚举类型可以为一组数值赋予友好的名字。在开发中后端返回的一些类型全是数值在前端代码中直接使用数据语义化不明显也影响阅读所以使用枚举转换一下更推荐 enum Color {Red 1, Green 2, Blue 4} let c: Color Color.Green; //c就等于 2 7、any 任何类型 当不确定一个变量应该是什么类型的时候可以使用 any 类型。any 类型是 TypeScript 的一个强大特性它允许我们在编译时可选择地包含或移除类型检查。但建议尽量不要使用如果大量使用any那使用ts的意义就失去了 let notSure: any 666;//notSure没有指定具体类型这里的赋值不会报错即使notSure初始值是一个number类型 notSure maybe a string instead; 8、void  没有返回值的函数的返回类型 当一个函数没有返回值时采用void如果有返回值应该写返回值的具体类型 function warnUser(): void {  console.log(This is my warning message); //这个函数没有返回值  } 9、Null 在 TypeScript 中null 值有自己的类型 null null是所有类型的子类型 let n: null null; 10、Undefined 在 TypeScript 中undefined 有它专门的类型 undefinedundefined是所有类型的子类型 let u: undefined undefined; 11、never 表示的是那些永不存在的值的类型 例如 never类型是那些总是会抛出异常或根本就不会有返回值的函数表达式或箭头函数表达式的返回值类型 变量也可能是 never类型当它们被永不为真的类型保护所约束时。never类型是任何类型的子类型也可以赋值给任何类型但除never类型本身其他的类型都不可以赋值给never类型包括any function error(message: string): never { throw new Error(message); } 12、Object 对象类型 表示非原始类型的对象类型如下参数O 和 lngLat都只接受对象类型数据传入 declare function create(o: object | null): void; 或 funtion getAddress(lngLat:{lng: string, lat: string} | null): string 二、高级类型 1、Intersection Types 交叉类型  使用  分隔不同的类型表示交叉类型是将多个类型合并为一个类型。这让我们可以把多个类型的成员合并到一个类型里可以理解为取这些类型的并集 type A {x: number} type B {y: number} type Combined A B//表示Combined类型必须同时具有x和y属性。 2、union types 联合类型 使用 | 分隔不同的类型联合类型表示一个值可以是几种类型之一所以 number | string | boolean 表示一个值可以是 number string或 boolean。 如果一个值是联合类型我们只能访问此联合类型的所有类型里共有的成员,可以理解为取 交集 interface Bird {fly();layEggs(); }interface Fish {swim();layEggs(); }function getSmallPet(): Fish | Bird {// ... }let pet getSmallPet(); pet.layEggs(); // okay pet.swim(); // errors swim不是共有成员 3、Type Aliases 类型别名 类型别名会给一个类型起个新名字。 类型别名有时和接口很相似但是可以作用于原始类型联合类型元组和字面量。 type Name string; //用Name 代替原始类型string type NameResolver () string; type NameOrResolver Name | NameResolver; function getName(n: NameOrResolver): Name {//这里的函数返回值是string因为第一行代码对string进行了别名所以就可以用Name代替stringif (typeof n string) {return n;}else {return n();} } 类型别名不能出现在声明右侧的任何地方 type Yikes ArrayYikes; // error 4、String Literal Types 字符串字面量类型 表示允许指定字符串必须的固定值和联合类型一起使用可以实现类似枚举类型的字符串 type SuperAdmin admin type Easing ease-in | ease-out | ease-in-out; //与联合类型结合使用 5、Numeric Literal Types 数值字面量类型 与字符串字面量类型类似数值字面量类型用来约束取值只能是特定的数值。 function rollDice(value: 1 | 2 | 3 | 4 | 5 | 6) { console.log(Player rolled a ${value}); } 6、Type Guards 类型保护 类型保护就是一些表达式它们会在运行时检查以确保在某个作用域里的类型。 要定义一个类型保护我们只需要简单地为一个函数的返回值为类型谓词。 pet is Fish就是类型谓词。 谓词为 parameterName is Type这种形式 function isFish(pet: Fish | Bird): pet is Fish {return (Fishpet).swim ! undefined; } 还可以用typeof 进行类型保护, TS本身会把typeof识别成类型保护所以可以直接在代码中使用 function padLeft(value: string, padding: string | number) {if (typeof padding number) {return Array(padding 1).join( ) value;}if (typeof padding string) {return padding value;}throw new Error(Expected string or number, got ${padding}.); } 7、Mapped Types 映射类型 它基于旧类型但是以某种方式对每个属性进行修改这就是映射类型。例如你可以获取一个类型的所有属性并使其成为只读   //旧接口 interface PersonPartial {name: string;age: number; }//映射旧接口获得新接口 type ReadonlyT {readonly [P in keyof T]: T[P]; } type ReadonlyPerson ReadonlyPerson;//新接口等同如下 interface PersonReadonly {readonly name: string;readonly age: number; } 8、Conditional Types 条件类型 条件类型是一种表达形式它类似于 JavaScript 中的三元运算符用于选择两种类型之一。 条件类型在描述输入与输出类型之间关系的时候非常有用并且能用来提取复杂类型中的信息。 type IsStringTypeT T extends string ? true : false; type A IsStringTypehello; // type A: true type B IsStringTypenumber; // type B: false
http://www.zqtcl.cn/news/940055/

相关文章:

  • 门户网站 页面集成防内涵吧网站源码
  • 二手房发布网站怎么做有哪个网站有免费视频素材
  • 张浦专业做网站纯html5网站
  • qq互联 网站开发北京博洛尼装饰公司
  • 企业网站模板建站广州红盾信息门户网站
  • 做网站都用到哪些软件商品网站建设方案
  • 集美区网站建设下面软件是网页制作平台的是( )
  • 中国建设银行纪念币预约网站做盗版影视网站
  • 网站建设工作年报江苏城乡和住房建设厅网站
  • 免费做网站tk地方门户网站推广方法有那些
  • 查企业年报的网站微商网站如何做
  • 做网站要了解的事情网站地图有什么作用
  • 企业网站asp源码怎么注册公司logo
  • 一个域名能同时做2个网站吗网站建设与维护的认识
  • 微信公众号怎么做网站链接ftp网站服务器
  • 免费舆情信息网站hao123主页
  • 网站空间不足wordpress最新编辑器怎么还原
  • 电信网站备案查询系统wordpress搜插件错误
  • 忻州企业网站建设房地产 网站 设计制作
  • 重庆水务建设项目集团网站中国十大公司排行榜
  • 做网站服务器需要系统app程序定制开发
  • 宁波网站推广营销公司wordpress插件转php
  • wordpress网站生成app应用制作广告的软件
  • 网站建设多久可以建成淘宝建设网站首页
  • 东营市做网站什么是网络营销道德
  • asp评价网站开发文档安卓软件app
  • phpcms旅游网站模板辽宁建设工程信息网开标大厅我的项目中没有显示
  • 深圳网站建设方维网络建设一个网站报价
  • 北京网站建设 案例邢台微商城制作设计
  • 网站开发一般都有系统wordpress评论优化