TS 数据类型

博客主要提及了 TS 数据类型,虽未详细展开,但聚焦于前端开发中 TypeScript 这一开发语言的数据类型相关内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

TS 数据类型

类型实例描述
number0,12,-20任意数字
string“hello”任意字符串
booleantrue/false布尔值true/false
字面量其本身 限制变量的值就是改字面量的值;有点类似与const,声明了就不能改
any*任意类型,设置为any,相当于对该变量关闭了TS,与js差不多
unknown*类型安全的any
void空值(undefined) 没有值(或undefined);多用于函数没有返回值
never没有值不能是任何值,可用于函数报错
object{name:“luca”}任意对象;{}用来指定对象中包含哪些属性,属性后加上问好,表示可选
array[1,“fun”,true]任意数组
tuple[4,5]元组,TS新增类型,固定长度的数组
enumenum{A,B}枚举,TS新增类型
undefinedundefined任意类型的子类型
nullnull任意类型的子类型

代码如下:

//let a:number;
//声明一个变量a,变量类型为number;
//a=10;
//a=30;
// a='hello' //会报错,会编译成功,但是会报错,可以编译任意版本的js,保证可以在任意版本浏览器显示正常
let b:string;
b='hello';
//声明变量直接赋值
let c:boolean=false;
//let c=false;   两个写法结果一致,声明完成后ts自动设置类型,返回number结果
function sum(a:number,b:number):number{
    return a+b;
}
console.log(sum(123,456));
console.log(b)
//可以使用竖线来连接多个类型
let d:boolean|string;
d=true;
d="hello"
//任意类型,设置了any后相当于ts对该变量关闭类型检测
let e:any;
e=10;
e='sdf'
//声明变量入如果不指定类型,则TS解析器会自动设置为any类型
let f;
f=10;
f='sds'

//unkonw表示位置类型的值
let g:unknown;
g=10;
g='sd';
//e是any类型,可以复制给任意变量
b=e;
//unkown 不能复制给其他类型变量,是一个类型安全的any

//类型断言,用来告诉编译器具体的类型
g=f as string;

//void 用来表示空,表示没有任何返回值
function  fn():void{
}
//never 表示永远不会返回结果

function fn2():never{
    throw new Error("报错了");
}
//object
let obj:object;
obj={};
obj=function(){
};
let obj1:{name:string,age:number};
obj1={name:'su',age:10};

let obj2:{name:string,age?:number};//加入?表示属性可选
obj2={name:'su'};
//[propName:string]:any表示任意类型的属性
let obj3:{name:string,[propName:string]:any};
obj3={name:'猪八戒',age:18,gender:'男'}


//设置函数结构的类型声明
let obj4:(a:number,b:number)=>number;
obj4=function(a,b):number{
    return a+b;
}
//声明字符串数组  两种声明方式
let arr_str:string[];
arr_str=['a','b'];

let arr_str1:Array<string>;

// tuple 元组,固定长度的数组

let tup:[string,string];
tup=['hel','df'];

//enum:枚举 多个数据选择时候适合用enum;
enum Gender{
    Male=0,
    Female=1
}
let en:{name:string,gender:Gender};
en={name:'df',gender:Gender.Female};
console.log(en.gender===Gender.Female)
//&表示同时
let j:{name:string}&{age:number};
j={name:'孙悟空',age:45};

//类型的别名
type myType=1|2|3|4|5;
let k:myType;
let y:myType;
k=3;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值