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

可登录的网站有哪些邯郸做移动网站报价

可登录的网站有哪些,邯郸做移动网站报价,英文网站策划,做美团旅游网站多少钱文章目录 类型约束基本类型联合类型 控制流分析instanceof和typeof类型守卫和窄化typeof判断instanceof判断in判断内建函数#xff0c;或自定义函数赋值布尔运算 保留共同属性 字面量类型#xff08;literal type#xff09;as const 作用 类型约束 TypeScript中的类型是一… 文章目录 类型约束基本类型联合类型 控制流分析instanceof和typeof类型守卫和窄化typeof判断instanceof判断in判断内建函数或自定义函数赋值布尔运算 保留共同属性 字面量类型literal typeas const 作用 类型约束 TypeScript中的类型是一种用于描述变量、函数参数和函数返回值的特征的方式。 代码中定义类型的部分不会在原生JavaScript环境中编译 基本类型 包括number、string、boolean、null、undefined和symbol。 联合类型 联合类型Union Types是指用“|”符号将多个类型组合成一个的类型。这意味着一个变量可以存储多种类型的值 let value: number | string 42;控制流分析 TypeScript 本身是一种静态类型语言它在编译时进行类型检查因此控制流分析在编译阶段就已经开始了 比如 function getUserInput():string|number{if(new Date() ! new Date(2023-11-01)){return yes;}else {return 0;} }此时Typescript的控制流分析将data类型视为 string | number instanceof和typeof typeof操作符用于获取一个值的类型。它返回一个字符串表示值的类型 instanceof操作符用于判断一个对象是否属于某个类的实例 使用typeof input “string” 和 input instanceof String 这两个判断有什么区别 typeof只能用于判断基本类型instanceof可以用于判断自定义的类型例如类接口数组等 instanceof 可以用于判断一个对象是否是某个类的实例包括继承自该类的子类。 类型守卫和窄化 类型守卫用于获取变量类型信息通常使用在条件块语句中。类型守卫是返回布尔值的常规函数接受一个类型并告诉 TypeScript 是否可以缩小到更具体的类型。 缩小到更具体的类型的过程称之为“窄化Narrowing”它能根据代码中的逻辑减少联合中的类型数量。大多数窄化来自if语句中的表达式其中不同的类型操作符在新的范围内窄化。 typeof判断 var input getUserInput() input // string |number if (typeof input string) {input // string }instanceof判断 var input getUserInput() input // number | number[] if (input instanceof Array)) {input // number[] }in判断 var input getUserInput() input // string | {error: ...} if (error in input) {input // {error: ...} } 内建函数或自定义函数 var input getUserInput() input // number | number[] if (Array.isArray(input)) {input // number[] } // 验证是否是number类型 function isNumber(x: any): x is number {return typeof x number; }// 验证是否是string类型 function isString(x: any): x is string {return typeof x string; }var inputgetUserInput(); //string | number if (isNumber(input)){input // number } 赋值 赋值过后的变量也将发生“窄化” let data: string | number .. data // string | number data Hello data // string 布尔运算 执行布尔运算时在一行代码里也会发生窄化 var input getUserInput() input // number | string const inputLength (typeof input string input.length) || input //string保留共同属性 当联合类型的所有成员都有相同的属性名称时这些属性会被保留 type Responses |{ status: 200, data: any } |{status :301, to: string } |{status: 400,error: Error }const response getResponse() response // Responses switch(response.status) {case 200: return response.datacase 301: return redirect(response.to)case 400: return response.error }字面量类型literal type 字面量类型指的是使用字面量语法来定义的类型。字面量类型是一种特殊的类型它允许你使用字面量值来定义类型的约束。 字面量类型包括以下几种 数字字面量类型使用数字字面量来定义数字类型的约束。例如0、1、2 等。字符串字面量类型使用字符串字面量来定义字符串类型的约束。例如“hello”、“world” 等。布尔字面量类型使用布尔字面量 true 和 false 来定义布尔类型的约束。元组字面量类型使用元组字面量 [item1, item2, …] 来定义元组类型的约束。例如[1, “hello”] 表示一个包含一个数字和一个字符串的元组。null 和 undefined 字面量类型使用 null 和 undefined 字面量来表示 null 和 undefined 类型的约束。空类型字面量使用 {} 来定义一个空类型的约束表示该类型没有任何属性或方法。任意值字面量类型使用 any 关键字来定义任意值的约束表示该类型可以接受任何类型的值。 编译器在编译期间进行类型检查提高代码的可读性和可维护性。 通常字面量类型不会单独出现而是配合联合类型用于约束类型的值 declare function handleRequest(url: string, method: GET | POST): void;handleRequest(req.url, GET); //编译通过handleRequest(req.url, MYGET); //编译不通过值不合法as const 作用 使用“as const”将类型锁定为其字面量版本 在 TypeScript 中as const 用来明确告诉 TypeScript 编译器这个变量是只读的const并且它的类型是字面量类型 还是刚刚的例子 declare function handleRequest(url: string, method: GET | POST): void; const req { url: https://example.com, method: GET }; handleRequest(req.url, req.method);编译器会报错 原因是req类型被识别为 const req { url: https://example.com, method: GET } as const; 当加上“as const”识别为字面量版本的类型 -本章完-
http://www.pierceye.com/news/369211/

相关文章:

  • 备案后的域名改网站名沪深300指数怎么买
  • 行业网站维护买电脑wordpress
  • 廊坊兼职网站建设网站图片怎么做的高级
  • pc网站转换手机网站wap用jsp源码做网站
  • 重庆慕尚网站建设在线美工
  • 珠海网站设计培训源码网站
  • 中山好的做网站的公司网站seo外包
  • 付费的网站是指展览馆网站建设方案书
  • 免费整套ppt模板下载网站网络营销推广目的
  • 公司 做网站企业手机app开发公司
  • 玉树电子商务网站建设多少钱做类似淘宝一样的网站
  • 住房城乡与建设厅网站燕郊网站开发
  • 欧美风格网站特点wordpress 电影主题
  • 烟台网站建设网站推广团队logo标志设计
  • 怎么注册建设银行网站如何创建属于个人网站
  • 双语网站系统wordpress page 父页面
  • 连云港做网站设计稿定设计官网入口
  • 建筑网站推荐wordpress hook api
  • 昆明做网站公司哪家好安卓优化
  • 魔站建站系统哪家好国内知名的包装设计公司
  • 福田区住房和建设局网站早晨设计 做网站设计吗
  • 郑州轨道网站开发手机怎么做动漫微电影网站
  • vscode网站开发昆明做网站找启搜网络
  • 如何评估网站虚拟商品交易网站建设
  • 太原网站优化教程pycharm做网站
  • 哪些网站做英语比较好免费下载模板ppt
  • 网站建设运营计划书wordpress 维护页面
  • 襄阳定制型网站开发前端网页设计招聘
  • 网站备案报价深圳市住房和建设局官网首页
  • 宁波江北区网站推广联系方式做一个论坛网站要多少钱