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

一般建设网站需要多少预算淘宝网站c 设计怎么做的

一般建设网站需要多少预算,淘宝网站c 设计怎么做的,新开传奇网站刚开,在国税网站怎么做实名【TypeScript】类型断言-类型的声明和转换#xff08;五#xff09; 【TypeScript】类型断言-类型的声明和转换#xff08;五#xff09;一、简介二、断言形式2.1 尖括号语法2.2 as形式 三、断言类型3.1 非空断言3.2 肯定断言-肯定化保证赋值3.3 将任何类型断言为any3.4 调… 【TypeScript】类型断言-类型的声明和转换五 【TypeScript】类型断言-类型的声明和转换五一、简介二、断言形式2.1 尖括号语法2.2 as形式 三、断言类型3.1 非空断言3.2 肯定断言-肯定化保证赋值3.3 将任何类型断言为any3.4 调用函数时将参数和返回值断言成精确的值 一、简介 TypeScript 断言是指在编写代码时开发者能够告诉编译器某个值的具体类型从而可以在编译阶段强制类型检查。 为什么要有 断言 这个概念TS中并不能判断在使用联合类型时具体是哪种类型当我们不知道是什么类型的情况下要使用某个类型特有的属性或者方法那么就可以用断言来实现它实际上是对编辑器做了提前告知的行为但是并不能保证运行中报错。这其实在某些强类型语言中类似于强制类型转换的操作。 主要有两种方式来实现 尖括号语法as语法 二、断言形式 2.1 尖括号语法 尖括号语法开发者可以使用 “类型” 的方式指定某个值的类型例如: let someValue: any This is a string; let strLength: number (stringsomeValue).length; anyValue是any类型在使用时候将其断言为string类型。从而继续执行接下来的操作。 let anyValue:string | number zhangsan; let length:number (stringanyValue).length;//0 anyValue是string或者number联合类型在使用时候将其断言为string类型。 需要注意的是使用断言虽然能避免编译中的报错但是却避免不了运行中的报错如下面代码 type Count number | string; function func(val:Count):string{return (stringval).substr(0,1) } func(1)可以看到在编辑器中并没有报错但熟悉代码的效果伴一眼就能看看出这是有问题的代码。 打开控制台或编辑器运行这段代码显示出错 所以除非确切的知道变量的数据类型否则不要使用类型断言这是因为类型断言会让 TypeScript 编译器 将变量当做指定的类型而不管它实际的类型在程序运行时可能有类型错误因此使用断言需要慎用。 2.2 as形式 as语法开发者也可以使用 值 as 类型 的语法进行类型断言例如 let someValue: any This is a string; let strLength: number (someValue as string).length; 使用断言的好处是可以在编译阶段捕获一些潜在的类型错误从而提高代码的可靠性。不过需要注意过度使用断言会导致代码可读性和可维护性降低因此需要谨慎使用。 as形式的断言在实际开发中比较推荐。 三、断言类型 3.1 非空断言 含义非空断言用!表示它用来断定某变量一定不是null和 undefined。 如果不做非空判断则会直接报错具体如下 type ClassTime () number; const start (ClassTime: ClassTime | undefined | null) {const time ClassTime(); console.log(time); }我们进行非空断言处理,修改调用方式为 ClassTime!(); type ClassTime () number; const start (ClassTime: ClassTime | undefined | null) {const time ClassTime!(); console.log(time); } 现在在编译时就不会报错了。但是还是需要注意当在运行时真正的传入了null或者undefined时则会出现异常。请务必注意。 3.2 肯定断言-肯定化保证赋值 含义允许在实例属性或者变量声明后面放置一个 !号从而告诉 TS该属性会被明确地赋值。 错误示范我们在对变量赋值之前就使用变量就会报错。 let score: number; startClass(); console.log( score); // 使用前赋值 function startClass() {score 5; }如果我们非常肯定我们会进行赋值那么怎么避免这种现象呢我们可以在变量声明的时候就告诉编辑器该属性一定会被赋值即在变量名后面加个!符号. let score!: number; startClass(); console.log( score); // 使用前赋值 function startClass() {score 5; }此时再去执行编译则不会出现定义前使用的错误提示了。 3.3 将任何类型断言为any 为什么会有这种需求呢其实想想实际应用中很多小伙伴为了节省时间就会进行一系列的any断言比如以下案例我们知道obj一定是有值的请求接口后赋值给obj所以一定是有值的但是我们直接赋值就会报错 const obj {}; obj.name zhangsan; obj.age 19;那我们使用any断言处理就不会报错了 const obj: any {}; obj.name zhangsan; obj.age 19;3.4 调用函数时将参数和返回值断言成精确的值 如果我们的函数处理完结果后我们能够确定其返回值那就应该将返回值断言为精确值。 如下函数 function func(val:any):any{return 1 } func(1)调用函数时我们改成以下所示这样方便我们维护代码约束了传参和函数返回值不能any走天下。根据上述函数定义我们就能够断言具体返回值。 let data numberfunc(stringzhangsan) let data2 numberfunc(number1) 编译运行后的结果如下 function func(val) {return 1; } var data func(zhangsan); var data2 func(1);以上就是【TypeScript】类型断言-类型的声明和转换的总结如果对你有帮助请不要吝啬你的小手给我狠狠的点赞、关注加分享。
http://www.w-s-a.com/news/929183/

相关文章:

  • 手机网站 分辨率如何创建网站挣钱
  • 网站建设工作标准做模版网站
  • 免费注册微信网站怎样做天猫网站视频
  • 青海建设厅网站通知wordpress如何改文章id
  • 国外搜索网站建设支付网站备案
  • 合肥建站公司有哪家招聘的拼车平台网站开发
  • 网站 备案 固话北京建站模板企业
  • 网站开发的公司wordpress分类目录 模版
  • flashfxp怎么上传对应网站空间wordpress无法创建
  • 建设网站案例分析做网站代理怎么赚钱
  • 唯品会网站建设特色域名备案期间 网站访问
  • 郑东新区建设局网站怎么做万网网站
  • 阿里云上传的网站 服务器路径试用网站开发
  • 做美食原创视频网站网站开发要多钱
  • 怎么做网站作业哪个网站可兼职做logo
  • asp网站搭建教程做网站备案完成之后需要干什么
  • 无锡外贸网站开发兰州网站在哪备案
  • 广州百度网站建设公司天津建设电工证查询网站
  • 网站建设与管理行业发展情况制作网页动态效果
  • wordpress 特色缩略图临沂seo全网营销
  • 隆昌市住房和城乡建设厅网站做网站用什么字体比较好
  • 惠州网站建设设计18款未成年禁用软件ap入口
  • 班级网站 建设目标如何做好网站建设内容的策划书
  • 网站建设与网页设计期末考试清博舆情系统
  • plone网站开发商城网站建设怎么收费
  • 旺旺号查询网站怎么做公司门户网站项目模版
  • 网站免费一站二站四站上海网站怎么备案表
  • 漫画交流网站怎么做开发微信小程序公司
  • 网站建设马鞍山怎么建立局域网网站
  • 开源 网站开发框架哪些网站可以做图片链接