一、typescript-变量
1.变量赋值了类型就不能赋值其他类型
1 let a:number; 2 let b:string; 3 a = 10; 4 5 //不可以 6 //a="assdf"; 7 b="123"
2.如果变量的声明和赋值是同时进行的,TS可以自动对变量进行类型检查
let d = false; //TS在d声明时检测到是boolean类型,所以d不能赋值其他类型 //d=12
3.js中的函数是不考虑参数的类型和个数的,TS中需要指定参数类型和返回值
JS代码:

1 //js中的函数是不考虑参数的类型和个数的 2 function sum(a,b){ 3 return a+b; 4 } 5 sum(11,22);//33 6 sum(11,"2222");//112222
TS代码:

1 //TS中 2 function sum_ts(a:number,b:number){ 3 return a+b; 4 } 5 sum_ts(11,22);//33 6 //不允许传参是string类型 7 //sum_ts(11,"2222");//112222 8 9 //函数的返回值是number 10 function sum_ts_return(a:number,b:number):number{ 11 //return a+"sdfsdf";//这个是不允许返回的 12 return a+b; 13 } 14 sum_ts(11,22);//33 15 //不允许传参是string类型 16 //sum_ts(11,"2222");//112222
4.object类型声明
1 //object 表示一个js对象 2 let cc:object; 3 cc={}; 4 cc=function(){ 5 6 }
4.1{}用来指定对象中可以包含哪些属性
语法;{属性名:属性值}
在属性名后面加?表示属性是可选的
1 let ccc:{name:string,age?:number}; 2 //ccc={}; 3 ccc={name:"joy"};
4.2:[propName:string]:any 任意类型的属性
propName 任意属性名(string),属性值类型是any(不做限定)
1 let cccc:{name:string,[propName:string]:any} 2 cccc={name:"sdfsdfsdfsdf",xxx:111,xxa:"sdfsdf"}
5.函数的声明
设置函数结构的类型声明
语法:(形参:类型,...)=>返回值
1 let dd:(a:number,b:number)=>number 2 dd=function(a,b){ 3 return a+b; 4 } 5 dd(1,2);
6.数组:
数组
语法(声明的两种方式):
- 类型[]
- Array<类型>
1 //string类型的数组 2 let ee:string[] 3 let eee:Array<number>
7.元组,元组就是固定长度的数组
语法:[类型,类型,类型]
1 let h:[string,number]; 2 h=["sdfsdf",77]
8.enum枚举:
1 enum Gender{ 2 Male=0, 3 Female=1 4 } 5 let eeee:{ 6 name:string, 7 gender:Gender 8 } 9 eeee={ 10 name:"sdfsdf", 11 gender:0 12 } 13 console.log(eeee.gender ===Gender.Male);
9.& 和 |
&:
1 let j:{name:string} & {age:number}; 2 j={name:"joy",age:12312};
|:这里的myType 1|2|3表示可以是1或者2或者3
1 type myType = 1|2|3|4; 2 let k:myType//等同于 let k:1|2|3|4
博客园地址:https://www.cnblogs.com/lixiuming521125/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
2016-09-20 freemarker 数据做加减计算
2016-09-20 ftl 问题