产品网站免费模板下载地址,网站建设经营特色,网页可以做什么主题,开发一个游戏的过程#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) {// ...
}//定义组合类型
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)
//自由度是真的高啊。。。。