一、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
View Code
复制代码

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
View Code
复制代码

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

 

posted @   啄木鸟伍迪  阅读(70)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
历史上的今天:
2016-09-20 freemarker 数据做加减计算
2016-09-20 ftl 问题
//火箭 GenerateContentList();

喜欢请打赏

扫描二维码打赏

了解更多

点击右上角即可分享
微信分享提示