1.TypeScript学习总结—一、关于Typescript的使用
2.TypeScript学习总结—二、关于Typescript的基础类型
关于JS的基础类型(简单对比讲下):
JS有七种类型:String、Number、Boolean、Symbol、Undefined、Null、bigint 和 Object。
1.关于TS的基础类型(类型注解):
1、boolean(布尔值);
2、number(数字);
3、string(字符串);
4、Array(数组);
5、Tuple(元组);
6、enum(枚举);
7、Any(任何类型);
8、Void(没有任何类型);
9、unKnow
10、Never(永不存在的值的类型)<极少使用或不使用,常用来做异常抛出>;
11、Object(非原始类型);
12、Null 和 Undefined;
13、类型断言。
1.1、boolean(布尔值)
let isOk: boolean = false;
1.2、number(数字)
let toolsNumber: number = 6;
1.3、string(字符串)
let tools: string = 'pen';
1.4、Array(数组)
let toolsAry: Array<string> = ['pen', 'handle', 'head'];
1.5、Tuple(元组)
元组类型允许表示一个已知元素数量和类型的数组,各元素的类型不必相同。
let toolsAry: [string, number, string] = ['Jean', 18, 'teacher'];
1.6、enum(枚举)
enum类型是对JavaScript标准数据类型的一个补充
enum Sex {
'男',
'女',
'沃尔玛购物袋',
'阿帕奇武装直升机'
}
let peopleSex: number = Sex['男'];
1.7、Any(任何类型)
let peopleSex: any = 996;
peopleSex= "沃尔玛购物袋";
peopleSex= false;
//也可以是数组
let groupPeople: any[] = [88, '男性'];
groupPeople[1] = 88;
1.8、Void(没有任何类型)
//一般作为函数返回值类型返回使用,声明一个void类型的变量没有什么大用,因为你只能为它赋予undefined和nul
let child:void = null
1.9、unknow(未知类型的值,unknown类型的值不能直接赋值给其他变量)
let unknowVal: unknow
unknowVal = 6
unknowVal = 'str'
1.10、Never(永不存在的值的类型)<极少使用或不使用,常用来做异常抛出>
返回任何类型的数值都会报错,函数默认返回空也报错
// 返回never的函数必须存在无法达到的终点
function error(message: string): never {
throw new Error(message);
}
// 推断的返回值类型为never
function fail() {
return error("Something failed");
}
// 返回never的函数必须存在无法达到的终点
function infiniteLoop(): never {
while (true) {
}
}
1.11、Object(非原始类型)
declare function create(o: object | null): void;
create({ prop: 0 }); // OK
create(null); // OK
create(42); // Error
create("string"); // Error
create(false); // Error
create(undefined); // Error
1.12、Null 和 Undefined
// Not much else we can assign to these variables!
let u: undefined = undefined;
let n: null = null;
1.13、类型断言
将某一变量值转化为其他类型的值
第一种
let someValue: any = "this is a string";
let strLength: number = (<string>someValue).length;
第二种
let someValue: any = "this is a string";
let strLength: number = (someValue as string).length;
字符串字面量类型
let status: 'open' | 'closed' = 'open';
status = 'closed'; // status只能取 'open' 或 'closed'
注意
给予类型方式是区分大的,大小写所表达的意思是不同的
不能将类型“String”分配给类型“string”。“string”是基础类型,但“String”是包装器对象。如可能首选使用“string”。
let s: string = 'aaaa';
let k: String = 'ssss';
s = new String('ssssssssss')//报错提示无法赋值
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!