变量类型
在 TypeScript 和 JavaScript 中,变量主要有以下几种类型:
一、原始类型(Primitive Types)
number:用于表示数字,包括整数和浮点数。例如:
let num: number = 42;或者在 JavaScript 中不声明类型直接赋值:
let num = 42;
string:表示文本字符串。例如:
let str: string = "Hello World";JavaScript 中:
let str = "Hello World";
boolean:表示布尔值,即true或false。例如:
let isTrue: boolean = true;JavaScript 中:
let isTrue = true;
null和undefined:null表示一个空值或者不存在的对象引用。undefined表示未初始化的值或者不存在的变量。
二、对象类型(Object Types)
object:在 TypeScript 和 JavaScript 中,几乎所有不是原始类型的值都是对象。对象可以包含属性和方法。例如:
let obj: object = { name: "John", age: 30 };JavaScript 中:
let obj = { name: "John", age: 30 };
Array:表示数组,可以存储一组相同类型或不同类型的值。例如:
let arr: number[] = [1, 2, 3];(TypeScript)或者let arr = [1, 2, 3];(JavaScript)。也可以使用泛型的方式表示数组类型:
let arr: Array<number> = [1, 2, 3];(TypeScript)。
Function:表示函数类型。例如:
let func: (a: number, b: number) => number = (a, b) => a + b;(TypeScript)。JavaScript 中函数可以直接定义和赋值给变量:
let func = function(a, b) { return a + b; };
三、特殊类型
any:在 TypeScript 中,any类型表示可以是任何类型的值。使用any类型会失去类型检查的好处。例如:
let value: any = 42;value = "Hello";value = true;
unknown:也表示可以是任何类型的值,但比any更安全,因为在对unknown类型的值进行操作之前必须进行类型检查。例如:
let value: unknown = 42;如果要使用这个值,需要进行类型检查:
if (typeof value === "number") { console.log(value + 10); }
void:通常用于表示没有返回值的函数类型。例如:
let func: () => void = () => { console.log("This function returns nothing."); }(TypeScript)。JavaScript 中:
function func() { console.log("This function returns nothing."); }。
never:表示永远不会有返回值的函数类型,或者表示一个不会正常结束的类型。例如:
function error(message: string): never { throw new Error(message); }(TypeScript)。
Last updated