| 1.TypeScript概述1.TypeScript是什么TypeScript是JavaScript的超集(JS有的TS都有),为JS添加了类型系统 2.TypeScript相比JS的优势JS的类型系统存在缺陷,绝大部分错误都是类型错误(Uncaught TypeError)优势一:类型化思维方式,是的开发更加严谨,提前发现错误,减少改Bug时间
 优势二:类型系统提高了代码的可读性,并使维护和重构代码更加容易
 优势三:补充了接口、枚举等开发大型应用时JS缺失的功能
 Vue3源码使用TS重写
 Angular默认支持TS;React与TS完美配合,是很多大型项目的首选
 2.开发工具1.Node.js2.VSCode
 3.解析TS的工具包(TSC)
 Node.js/浏览器,只认识JS代码,不认识TS代码,需要将TS代码转换为JS
 npm i -g typescript
 3.第一个TS文件1.创建第一个ts文件步骤  
 创建ts文件 —》写代码 —》 执行代码 1.创建 hello.ts console.log('hello ts')
 2.编译ts代码打开终端,输入命令
 tsc hello.ts
 生成同名的js文件 3.运行js代码打开终端,执行命令
 node hello.js
 2.简化执行ts的步骤每次修改代码后,都要重复执行两个命令才能执行TS代码,太繁琐简化方式:使用ts-node包,直接在Node.js中执行TS代码
 npm i -g ts-node
 使用方式:ts-node hello.ts 4.注释和输出语句注释是对代码的解释说明,用来帮助阅读和理解代码单行注释 // 内容
 多行注释 /*内容*/
 输出语句:在终端中打印信息Node.js会执行代码,为了能够知道代码执行的结果,就需要使用输出语句,将结果打印出来
 5.变量和数据类型变量是用来存储数据的容器,并且是可以变化的 1.变量的使用变量是使用分为两步:1.声明变量
 let age:number
 let是ts的关键字,用来声明变量,age是定义的变量名称,:number用来指定变量的类型2.给变量赋值
 age = 18
 简化:声明变量的同时就赋值 let age: number = 18
 注意:一定要在变量声明的时候指定类型 2.类型注解类型注解:为变量添加类型约束的形式约定了什么类型,就只能给变量赋什么类型的值
 3.变量的命名规则和规范变量名称只能出现:数字、字母、下划线_、美元符号$,并且不能以数字开头 let $name
let f_s
 变量名称要有意义,顾名思义,推荐使用驼峰命名法 案例:交换两个变量的值let num1: number = 12
let num2: number = 20
let temp: number
temp = num1
num1 = num2
num2 = temp
console.log(num1, num2)
 5.数据类型TypeScript中的数据类型分为两大类:1.原始类型(基本数据类型) 2.对象类型(复杂数据类型)常用的基本数据类型: number/string/boolean/undefined/null
 数字类型(number):包含整数值和浮点型(小数)  let age: number = 18
 let weight: number = 11.1
 字符串类型(string):由零个或多个字符串联而成,用来表示文本信息 let uname: string = 'zhangsan'
 布尔类型(boolean): 用来表示真或假 let isShow: boolean = true
 undefined、null:只有一个值,值为类型本身 let isUndefined: undefined = undefined
let isNull: null = null
 undefined: 表示声明但未赋值的变量值(找不到值)null:表示声明了变量并且已经赋值,值为null
 这些类型的值,也叫做字面量,也就是从字面上就能看出来它是什么 6.运算符运算符也称为操作符,用来实现赋值、算术运算、比较等功能的符号1.算数运算符:加(+)、减(-)、乘(*)、除(/)
 +号不仅可以用于加法计算,还能实现字符串拼接
 在ts语法中,除加号以外,其他算数运算符之应该跟数字类型一起使用
 其他方式:将字符串类型转换为数字类型
 console.log(1 - '1') 
console.log(1 - +'1') 
 +'1’可以表示将 ‘1’(string) => 1(number)字符串前面添加+号,可以将string转化为number(字符串内容为数字时才有意义)
 2.赋值运算符将符号右边的值赋值给它左边的变量(=)
  let age = 1
 age = age + 1
 console.log(age) 
 出了等号(=)之外,还包括: 加等(+=)、减等(-=)、乘等(*=)、除等(/=) age += 1
 3.自增、自减运算符自增(++)运算符是 += 1的简化形式,自减 (–)是-= 1的简化形式
 let age = 1
age ++ 
console.log(age) 
age --
console.log(age) 
 4.比较运算符用于比较两个数据的值,并返回比较的结果,为布尔类型
 大于(>) 大于等于(>=) 小于(<) 小于等于(<=) 等于(=) 不等于(!)
 let num1 = 3
let num2 = 4
console.log( num1 > num2) 
 5.逻辑运算符与(并且)、或(或者)、非(不是)
 逻辑运算符通常用于布尔类型的计算,并且结果也是布尔类型
 逻辑与(&&)两边同时为true,结果采薇true,否则为false
 true && false 
 逻辑或(||)当两边的值只要有一个为true,结果就为true,否则为false true && false 
 非(!),表示取反,即ture->false false-> true !true 
 7.语句1.条件语句(分支语句)根据判断条件的结果(真或假),来执行不同的代码,从而实现不同的功能条件执行时,首先判断条件是否满足,如果条件满足,就做某件事,如果不满足,就做另一件事,即不同的情况执行不同的分支
 if语句在TypeScript中if语句就是实现条件判断的
 if(判断条件) {
	 条件满足时要做的事情
}
 判断条件:布尔类型(ture或者false) let isShow: boolean = true
if(isShow) {
    console.log('show') 
}
 else语句在TypeScript中else语句必须配合if语句来使用
 else语句表示:条件不满足,要做的事情
 if(判断条件) {
}else {
	条件不满足,要做的事情
}
 let isShow: boolean = false
 if(isShow) {
     console.log('show')
 } else {
     console.log('is not show')
 }
 2.三元运算符根据判断条件的真假,得到不同的结果 结果 = 判断条件 ? 值1 : 值2
 如果判断结果为真,值为1,如果判断条件为假,值为2  let num1: number = 10
 let num2: number = 20
 let isMoreThen: string = num1 > num2 ? '大于' : '小于'
 console.log(isMoreThen) 
 3.循环语句在TypeScript中,要实现重复做某些事情,要用到循环for循环
 组成:
 1.初始化语句:声明计数器变量用来记录循环次数(执行一次)
 2.判断条件:判断循环次数是否达到目标次数
 3.计数器更新:完成一次循环让计数器数量加1
 4.循环体:循环的代码,也就是要重复做的事情
 for(初始化语句;判断条件;计数器更新) {
	循环体
}
for (let i:number = 0;i<=3;i++) {
     console.log(i)
}
 执行过程: 初始化计数器(只执行一次),判断条件,循环代码,计数器更新,条件不满足,跳出循环 break和continuebreak和continue常用在循环语句中,用来改变循环的执行过程
 for想你换执行的特点是:连续且不间断
 break能够让循环提前结束(终止循环)
 for (let i:number = 0;i<=5;i++) {
   if(i === 2) {
        break
    }
    console.log(i) 
}
 continue能够让循环间断执行(跳过本次循环,继续下一次循环) for (let i:number = 0;i<=5;i++) {
     if(i === 2) {
        continue
     }
     console.log(i) 
 }
 4.断点调试Vs-Code断点调试配置1.准备要调试的ts文件
 2.添加调试配置
  
 打开调试窗口:点击左侧活动栏Debug生成默认配置:点击DEBUG后面的下拉框,选择添加配置
 修改配置内容如下
 {
    
    
    
    "version": "0.2.0",
    "configurations": [
        {
            "type": "node",
            "request": "launch",
            "name": "调试ts代码",
            
            
            "runtimerArgs": ["-r", "ts-node/register"],
            "args": ["${workspaceFolder}/a.ts"]
        }
    ]
}
 3.安装调试用到的包 npm  i ts-node typescript
 |