TypeScript 类型
基础类型
类型 | 解释 |
---|---|
string |
用于文本字符串 |
number |
用于数字(整数和浮点数) |
boolean |
布尔值,可以是 true 或 false |
null |
表示缺少值的空对象指针 |
undefined |
表示未定义的值 |
void |
表示没有任何返回值的函数 |
never |
表示永远不会返回的函数 |
任意类型
any
可以代表任何类型,使用时会放弃类型检查
联合类型
|
表示一个值可以是多种类型
const unionType :string|number = 1
const unionType1 :string|number = true // Type 'boolean' is not assignable to type 'string | number'.(2322)
元组
元组(Tuple)是一种特殊类型的数组,它允许我们为数组中的每个元素指定具体的类型,而且这些元素的类型可以不同
let person: [string, number, boolean]; // 定义一个元组类型,包含字符串、数字和布尔值
person = ['Alice', 25, true]; // 正确的赋值方式
// person = [25, 'Alice', true]; // 错误的赋值方式,类型顺序不匹配
// person = ['Alice', '25', true]; // 错误的赋值方式,第二个元素应为数字
console.log(person[0].toUpperCase()); // 访问元组中的元素,这里访问的是字符串类型元素
console.log(person[1] + 1); // 访问数字类型元素
function getPersonInfo(): [string, number] {
return ['Bob', 30];
}
const [name, age] = getPersonInfo();
console.log(`Name: ${name}, Age: ${age}`);
枚举
枚举(Enum)是一种数据结构,用于定义一组命名的常量。这对于表示某些固定的几个值非常有用,比如表示一周中的几天或者 HTTP 状态码等
enum Days {
Sunday,
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday
}
console.log(Days[0]) // "Sunday"
console.log(Days['Sunday']) // 0
Object 对象类型
对象类型可以通过接口(Interfaces)或者类型别名(Type Aliases)来定义
-
object
可以是任何非原始类型,即除了基本类型以外的所有类型 -
{}
表示一个普通的对象类型,没有特定的形状 -
interface
来描述具体特定属性的对象结构
接口还可以实现继承和合并.实现类的结构或需要扩展时,接口是更好的选择
// interface
interface Person {
name: string;
age: number;
address?: string; // 可选属性,表示该属性可以不存在
}
function printPersonInfo(person: Person) {
console.log(`Name: ${person.name}, Age: ${person.age}`);
}
const person1: Person = { name: "Alice", age: 30 };
printPersonInfo(person1);
type
来描述具体特定属性的对象结构
类型别名不能被 extends 或 implements 关键字使用
// type
type Person = {
name: string;
age: number;
address?: string;
};
function introduce(person: Person) {
console.log(`Hi, my name is ${person.name} and I am ${person.age} years old.`);
}
const person2: Person = { name: "Bob", age: 25, address: "123 Elm Street" };
introduce(person2);
标签:TypeScript,string,age,number,笔记,person,日常,类型,name
From: https://www.cnblogs.com/jessqiu/p/18261635