尚硅谷TypeScript教程(李立超老师TS新课)

TypepScipt是什么东东?
JS 的超集 javascript 轻量级的变量约束
支持在任何支持JavaScript的平台执行
添加很多类型 提高大型项目的可维护性
最终会编译成JS。类似于预编译的处理(less,scss)
它干了啥?
增加了很多类型 兼容各种js 语法
boolean string number [] Array<number> any,Object类型只是允许对变量定义 enum Tuple 元组类型
开始搞事情
node必须的
安装:npm i -g typescirpt
https://www.tslang.cn/docs/handbook/basic-types.html 配合官网一起食用
动态变量=> 静态类型变量
let c = fasle; 变量和赋值同时进行,TS 可以自动对变量进行类型检测 类型推断
let a:number;
联合类型 多个类型选择(string,boolean)
let a : string | boolean
any
unknown 类型安全的any
断言 语法
<string>e e as string
never
类型表示的是那些永不存在的值的类型.
never
类型是那些总是会抛出异常或根本就不会有返回值的函数表达式或箭头函数表达式的返回值类型
【propName:string】:any 任意类型属性
函数的申明定义约束。
let a (a:number,b:number)=>number
tsconfig.json文件配置
{
"include":["./src/**/*"],// 那些文件需要编译
** 任意目录
*任意文件 node_modules
exclude:[""],
extends: 继承其它文件
files 枚举需要选择的文件
compilerOptions:{
target:'es5',// EsNext 编译的版本
"module":"commonjs" , es2016,
"lib" : "" 指定项目用到的库
outFile:""
allowjs:true,
checkjs:true,
removeComments:"" 移除注释
noEmit
}
}
//webpack ts 代码打包
https://webpack.docschina.org/
npm install webpack webpack-cli typescript ts-loader
babel
resolve:{
extesion:['.ts','js'] // 那些文件被认定为
}
babel/core babel/preset-env
babel-loader
{
loader:babel-loader,
options:{
presets:[
"@babel/preset-env"“{
”target":{
"chrome":'88' ,
"ie":‘11’
}
}
]
}
}
面向对象