一、TypeScript是什么?TS–》编译–》JS
1.以JavaScript为基础构建的语言
2.一个JavaScript的超集
3.可以在任何支持JavaScript的平台中执行(TS不能被Js解析器直接执行)
4.TypeScript扩展了JavaScript,并添加了类型
二、TypeScript增加了什么?
1.类型
2.支持ES的新特性
3.添加ES不具备的新特性
4.丰富的配置选项
5.强大的开发工具
三、TypeScript开发环境搭建
1.下载Node.js
2.安装Node.js
3.使用npm全局安装typescript
。进入命令行
。输入:npm i -g typescript
4.创建一个ts文件
5.使用tsc对ts文件进行编辑
。进入命令行
。进入ts文件所在目录
。执行命令:tsc xxx.ts
四、基本类型
类型 例子 描述
number 1,-33,2.5 任意数字
string "hi","hi" 任意字符串
boolean true,false 布尔值true或false
字面量 其本身 限制变量的值就是该字面量的值
any * 任意类型
unknown * 类型安全的any
void 空值(undefined) 没有值(或undefined)
never 没有值 不能是任何值
object {name?:高冷冷} 任意的js对象(?表示可选属性)
{name:高冷冷,[xxx:string]:any} 表示任意类型的属性
array [1,2,3] 任意js数组
tuple [4,5] 元素,TS新增类型,固定长度数组
enum enum{A,B} 枚举,TS新增类型
五、编译选项
1.tsc xxx.ts -w (只用于当前文件)
2.自动编译
a,新建一个tsconfig.json文件
b,执行命令:tsc
3.tsconfig.json文件配置
{
/*
3.1 "include":用来指定哪些ts文件需要编译
*:表示任意文件
**:表示任意目录
3.2 "exclude": 不需要被编译的文件目录
3.3 "extends":定义被继承的配置文件
3.4 "files" :指定被编译文件的列表,只有需要编译的文件少时才会被用到
*/
"include":[
"./src/**/*"
],
//"exclude":[
// "./src/hello/**/*"
//],
/*
compilerOptions :编译器的选项
*/
"compilerOptions":{
//target 用来指定ts被编译为的ES的版本
//'es3','es5','es6','es2015','es2016','es2017','es2018','es2019','es2020','esnext'
"target":"es2015",
//module 指定要使用的模块化的规范
//'none','commonjs','amd','system','umd','es6','es2015','es2020','esnext'
"module":"es2015",
//lib 用来指定项目中要使用的库
//"lib":["es2015","dom"],
//outDir 用来指定编译后文件所在的目录
"outDir":"./dist",
//outFile 讲代码合并为一个文件
//"outFile":"./dist/app.js",
//allowsJS 是否对js文件进行编译,默认是false
"allowsJS":false,
//checkJS 是否检查js代码是否符合语法规范,默认是false
"checkJS":true,
//removeCommons 是否移除注释
"removeCommons":true,
//不生成编译后的文件,默认是false
"noEmit":false,
//noEmitOnError 当有错误时就不生成编译后的文件
"noEmitOnError":true,
//alwaysStrict 用来设置编译后的文件是否使用严格模式,默认false
"alwaysStrict":true,
//noImplicitAny 不允许隐式的any类型
"noImplicitAny":true,
//noImplicitThis 不允许不明确类型的this
"noImplicitThis":true,
//strictNullChecks 严格的检查空值
"strictNullChecks":true,
}
}