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

天河区门户网站教育专栏茶百道加盟费大概要多少

天河区门户网站教育专栏,茶百道加盟费大概要多少,全国设计网站公司网站,国家域名查询网#xff08;0#xff09;写在前面#xff1a; 作者之前都是在写js#xff0c;所以这里介绍ts肯定是不能从头开始介绍了#xff0c;主要在js的基础上介绍ts关于类型的几个特性#xff0c;以及ts的安装还有配置问题 #xff08;1#xff09;ts和js是什么关系 通俗点来…0写在前面 作者之前都是在写js所以这里介绍ts肯定是不能从头开始介绍了主要在js的基础上介绍ts关于类型的几个特性以及ts的安装还有配置问题 1ts和js是什么关系 通俗点来讲ts是js的扩展或者说js可以理解为ts的一部分。在实际应用上来说ts是对js在编写层面上作出的一种规范。甚至运行的时候都要通过ts编辑器将ts代码文件转化为js代码才能顺利执行。 2ts的安装启动以及环境配置 ts的安装可以直接使用指令 npm install -g typescript 下载完成后通过tsc指令编译你的ts文件 tsc ‘目标文件名称’ 会生成同名的js文件这个时候再使用node去执行js node ‘同名的js文件’ 这个其实就是底层的原理因为node环境还有浏览器环境之恩那个识别js所以我们要先把ts转化为js。第一眼看可能是多次一举但是在编写ts的时候无论是ide也好ts编译器也好都会对我们的一些错误进行修正让生成的js代码更加和谐。 不过如果想要跳过这个中间产物可以直接使用工具ts-node可以直接去编译ts并且执行不需要我们手动去执行一些东西了 npm install -g ts-node 接下来就可以通过这个第三方工具直接执行ts文件了 ts-node ‘ts文件’ 一个可能需要注意一点的问题就是有些时候安装完了这两个工具可能是会识别不出tsc和ts-node这两个东西是什么原因在于window下我们一般要手动配置环境变量。 其实-g这个参数的意思就是全局安装但是在window下会有很多其奇怪挂的情况所以这个全局安装多半会失败。 这个的解决方法就是你需要从node-module模块中寻找到可能会需要到的应用程序然后单独提取出来再把环境变量指向这个东西。具体可以询问身边的老手或者ai工具这个东西应该是每个node程序员都要会的 当然如果你是linux系统就不会有这个顾虑因为linux处理这类安装的时候一般是自动帮你集成好了环境变量。 3一些关于类型的特性 详见代码注释 //首先要说一句 ts是js的超类,所以js的代码全部是ts代码的一部分 console.log(ddd)//首先声明变量key可以加上类型ts会做相关的检查 let a:stringdddd//对于对象也可以使用接口的方式进行检查 interface User {name:string;age:number; } const user:User{name:,age:0}//方法也可以使用这种方式对传入参数进行检查 //并且控制返回值的类型 //如图所示返回一个字符串 function deleteUser(user: User)string {// ... }//定义组合类型 type myType1|2|3|4 // const b:myType0这样子就会报错 // 有点类似枚举的感觉 //应用 function testType(obj:string|string []){//这参数可以接收字符串或者字符串数组内部可以使用typeof等等方法做尝试 }//泛型,用法和其他语言差不多用来指明本语言中缺失的部分 class Studenttype{name:type;constructor(name:type){this.namename} }//结构类型系统一个ts中很有意思的点如果有相同的属性部分那么在使用的时候就会被视为是同一种类型 function testT(point:{x:string,y:number}){//...里面是一些属性 } //这时候可以传入 testT({x:,y:1}) //也可以以这样的方式传入子集xy的部分会被视为point同类型的东西 const x{x:,y:1,z:12} testT(x) //自由度是真的高啊。。。。 4关于类型别名和接口 对于一些自定义类型我们可以其别名 例如我们设置一个枚举类型0-7 type num0|1|2|3|4|5|6|7 这样num这个类型的对象或者说变量取值只能是0-7的其中一个数字 上面利用对象也是一样的 当然对于对象还有别的可用方式接口 interface User {name:string;age:number; } const user:User{name:,age:0} 这种方式就允许我们自定义一些特殊的类此外接口和别名也有些不一样的地方比如说接口允许我们通过继承来叠加东西 不过js和ts本身也不是面向对象的语言。。。所以就这样 5关于字面类型 字面类型有种语法糖的感觉或者可以说是匿名类 const nameheadhead 像是这段代码所展示的内容一样name这变量的类型被固定在’head‘这个字符串上了 。。。感觉好像有点鸡肋但是这种用法主要是用来搭配其他的东西 const num1|2|33 这样是不是就好理解一点 6关于断言 ts中的断言和其他语言中的assert不一样ts的断言主要是一种声明告知tsc不需在做一些检查了。 虽然这样的操作有时候会发生一些逻辑上的错误造成一点问题。但是个别时候代码逻辑需要我们告诉编译器某种情况。 ts中的断言分为两种as as类型断言Type Assertion使用 as 关键字或尖括号语法将一个值断言为特定的类型。这可以用于告诉编译器在某个上下文中使用特定类型即使它的类型推断可能是其他类型。 const adududu as string const astringdududu !:非空断言Non-null Assertion使用感叹号 !表示告知编译器一个变量不会为 null 或 undefined。这可以用于避免空值检查并在访问变量的属性或方法时省略空值检查。 const abunn!.name 断言其实就是一种提前声明告诉编译器“我已经确定这是什么类型了不用检查了”
http://www.tj-hxxt.cn/news/233640.html

相关文章:

  • 博湖网站建设丽水网站建设明恩玉杰
  • 美食网站建设书创新作品及其设计方案
  • fedora做网站服务器营销网络遍布全国
  • 公司网站百度搜索的描述怎么做做网站一般需要多久
  • 网站开发 php模板做网站有2个前提条件 一个是网站
  • 网站开发得多长时间wordpress 什么是插件吗
  • wordpress 视频站网站客户端怎么做的
  • 设计师网站库dw做了网站还可以做淘宝详情吗
  • 网站开发实验报告总结手机视频网站怎么做
  • 网站开发朋友圈广告免费网页空间
  • 网站建设关键字优化免费建站系统软件
  • 网站建设几种语言对比微信开放平台怎么解除
  • 推广类网站奉贤庄行网站建设
  • 医院做网站运维公司做网站还是做app
  • 哪里有建网站的公司王妃貌美还狠凶
  • 做网站心得asp源码自助建站
  • 建设将网站加入受信网站再试支持wordpress空间
  • 做平面素材好的网站摄影网站源码
  • wordpress登录修改松江网站关键词优化
  • 山东青岛网站制作公司大数据抓取客户软件
  • 徐州建设企业网站网站数据库是谁提供
  • 网站设计师的岗位职责网站怎么开发设计
  • 乐清网站建设乐清如何把本地网站
  • 网站集约整合建设交流前端开发和网站建设
  • 电子商务网站wordpress 免费 主题 下载
  • 金融网站设计方向百度推广一个点击多少钱
  • 三亚网站外包宁波seo教程行业推广
  • 陕西示范校建设专题网站怎么查在建工地的信息
  • 网站制作公司违法股权设计方案模板
  • 网站建设需要什么人员周口logo设计公司