typescript基本类型
typescript基本类型
基础类型可以开发者更准确地描述数据的结构和意图。
TypeScript 包含的数据类型如下表:
类型 | 描述 | 示例 |
---|---|---|
string | 表示文本数据 | let name: string = "Alice"; |
number | 表示数字,包括整数和浮点数 | let age: number = 30; |
boolean | 表示布尔值 true 或 false | let isDone: boolean = true; |
array | 表示相同类型的元素数组 | let list: number[] = [1, 2, 3]; |
tuple | 表示已知类型和长度的数组 | let person: [string, number] = ["Alice", 30]; |
enum | 定义一组命名常量 | enum Color { Red, Green, Blue }; |
any | 任意类型,不进行类型检查 | let value: any = 42; |
void | 无返回值(常用于函数) | function log(): void {} |
null | 表示空值 | let empty: null = null; |
undefined | 表示未定义 | let undef: undefined = undefined; |
never | 表示不会有返回值 | function error(): never { throw new Error("error"); } |
object | 表示非原始类型 | let obj: object = { name: "Alice" }; |
union | 联合类型,表示可以是多种类型之一 | `let id: string |
unknown | 不确定类型,需类型检查后再使用 | let value: unknown = "Hello"; |
//string字符串 let message:string = "hello,typescript!"; let uname:string = "alice"; let greeting:string = `hello,${uname}! welcome to typescript.`; console.log(greeting); //number数字 let age:number=25; let temperature:number=36.5; console.log(age, temperature); //boolean布尔值 //表示逻辑值true或false,用于条件判断。 let isCompleted:boolean=false; console.log(isCompleted); //array数组 //可以表示一组相同类型的元素。可以使用type[]或array<type>两种方式表示。 let numbers:number[]=[1,2,3]; let names:Array<string>=["alice","bob"]; console.log(numbers, names); //tuple元组 //表示已知数量和类型的数组。每个元素可以使不同的类型,适合表示固定结构的数据。 let person:[string,number]=["alice",25]; console.log(person); //enum枚举 //用来定义一组命名常量。默认情况下枚举的值从0开始递增。 enum Color{ Red, Green, Blue, } let favoriteColor=Color.Green; console.log(favoriteColor); //any类型 // 以表示任何类型。适合不确定数据类型的情况,但使用时需谨慎,因为any会绕过类型检查 // let randomValue: any=42; // randomValue="hello"; // console.log(randomValue); 运行有问题? let arrayList: any[]=[1,false,'fine']; arrayList[1]=100; console.log(arrayList); //void空类型 // 用于没有返回值的函数。声明变量时,类型void意味着只能赋值null或undefined function logMessage(message: string): void{ console.log(message); } console.log(logMessage); //null和undefined //null和undefined分别表示空值和未定义。在默认情况下, //它们是所有类型的子类型,但可以通过设置strictNullChecks严格检查 let empty: null=null; let notAssigned: undefined=undefined; console.log(empty, notAssigned); //object对象类型 //表示非原始类型的值,适用于复杂的对象解构 let personB: object={name:"alice",age:30}; console.log(personB); //union联合类型 //表示一个变量可以使多种类型之一。通过|符号实现 let id: string |number; id="123"; id=456; console.log(id); //unknown不确定的类型 //与any类似,但更严格。必须经过类型检查后才能赋值给其他类型变量 let messageB:string = "hello,typescript!"; let value: unknown="hello ts3!"; if(typeof value==="string"){ let messageB: string=value; } console.log(messageB); //type assertions .类型断言 //类型断言可以让开发者明确告诉编译器变量的类型,常用于无法推断的情况 //可以使用as或<>语法 let someValue: any="this is a string";//加空格一起16个字符 let strLength: number=(someValue as string).length; console.log(someValue, strLength); //字面量类型 //字面量类型可以让变量只能拥有特定的值,用于结合联合类型定义变量的特定状态 let direction="up" | "down" | "left" | "right"; //字符串之间要写空格,不写空格,会报错误 direction="up"; console.log(direction);
编译运行:
通过这些类型,TypeScript 提供了更强的类型安全性和代码检查能力,使开发者能够更清晰、准确地表达数据和意图,减少运行时错误。
