这是我参与「第五届青训营 」笔记创作活动的第4天
TypeScript入门
课程内容
- TypeScript 历史及定义解析
- TypeScript 优势解读
- TypeScript 练习工具
详细内容
js 动态类型 弱类型语言
ts 静态类型 弱类型语言
TypeScript 基本语法
- 基础数据类型
- 对象类型
- 函数类型
- 数组类型
静态类型
- 可读性增强:基于语法解析TSDoc,ide增强
- 可维护性增强:在编译阶段暴露大部分错误 => 多人合作的大型项目中,获得更好的稳定性和开发效率
ts是js的超集
- 包含于兼容所有js特性,支持共存
- 支持渐进式引入与升级
编辑器推荐
Visual Studio Code
基本语法
ts基础数据类型的定义:在变量后面加冒号
基本数据类型:
- 字符串
const q='string'; const q:string='string';
- 数字
const w=1; const w:number=1;
- 布尔值
const e=true; const e:boolean=true;
- null
const r=null; const r:null=null;
- undefined
const t=undefined; const t:undefined=undefined;
对象类型
只读属性:
-
约束属性不可在对象初始化外赋值 在变量前面加上
readonly -
可选属性:定义该属性可以不存在
hobby?:string; -
任意属性:约束所有对象属性都必须是该属性的子类型
[key:string]:any;
函数类型
interface
function add(x:number, y:number):number{
return x+y;
}
函数重载
/*对getDate函数进行重载,timestamp为可缺省参数 */
数组类型
-【类型+方括号】表示 'type IArr1=number[]'
- 泛型表示 'type IArr2=Array,string | number | Record<string,number>>;'
- 元祖表示 'type IArr3=[number ,number,string,string];'
- 接口表示 ''' interface IArr4 { [Key: number]:any; } ''' const arr1:IArr1=[1,2,3,4,5,6]; const arr2:IArr2=[1,2,'3','4',{a:1}]; const arr3:IArr3=[1,2,'3",‘4’]; const arr4:IArr4=['string',()=>null,{},[]];