Appearance
什么是编程语言的基础数据类型
编程语言的基础类型通常包括整数、浮点数、字符和布尔值等。然而,不同的编程语言可能具有不同的基础类型,也可能在基础类型上有所扩展。编程语言的基础类型因语言而异,但都旨在提供基本的、用于构建更复杂程序结构的数据单元。如需了解更多关于特定编程语言基础类型的信息,建议查阅相关编程语言的官方文档或教程。
以C语言为例,它的基础数据类型主要包括:
整数类型(int),可以加上unsigned/short/long/long long修饰,所占内存依short≤int≤long≤long long递增,通常是2,2/4,4/8,8字节。
浮点类型,包括float、double、long double,所占内存依次递增,通常4,8,16字节,与编译器与CPU有关,有效数字分别是7,15位。
字符类型(char),占据一个字节,存储一个ASCII码,也可以用来存数字。
而在C++语言中,除了C语言的基础类型外,还引入了bool类型,取值true/false,占据一个字节。
此外,还有一些编程语言具有更为复杂的基础类型系统。例如,在动态类型的编程语言中,变量的类型是在运行时确定的,不需要在使用变量之前进行类型声明。这些语言通常包括Python、Ruby、JavaScript等。而在静态类型的编程语言中,变量的数据类型在编译时即可确定,多数静态类型语言要求在使用变量之前必须声明数据类型,例如C、C++、Java等。
TypeScript的基础数据类型
TypeScript支持与JavaScript几乎相同的数据类型,此外还提供了实用的枚举类型方便我们使用。 TypeScript 的基础数据类型与 JavaScript 非常相似,但提供了更为严格的类型检查。以下是 TypeScript 的基础数据类型:
和ES6一样,声明变量时,你可以示使用let,var来表示,我们使用let关键字来代替大家所熟悉的JavaScript关键字var。 let关键字是JavaScript的一个新概念,TypeScript实现了它。 我们会在以后详细介绍它,很多常见的问题都可以通过使用let来解决,所以尽可能地使用let来代替var吧。
不同的就是,TypeScript要求声明变量时必须同时声明变量的数据类型,这样将大大避免安全隐患。
基础类型是语言的核心之一,一定要深入了解用法
Number:用于表示双精度 64 位浮点数值。
ts
let decimal: number = 6;
let hex: number = 0xf00d;
let binary: number = 0b1010;
let octal: number = 0o744;
let float: number = 3.14;
String:用于表示文本数据类型。
ts
let name: string = "John";
let greeting: string = `Hello, ${name}!`;
let multiLine: string = `This is a multi-line string.
It can span multiple lines.`;
Boolean:用于表示布尔值。
ts
let isDone: boolean = false;
Array:用于表示数组。数组类型可以指定数组元素的类型。
ts
let list: number[] = [1, 2, 3];
let strings: string[] = ['a', 'b', 'c'];
Tuple:元组类型允许表示一个已知元素数量和类型的数组,各元素的类型不必相同。
ts
let x: [string, number] = ['hello', 10]; // 正确
Enum(枚举):用于定义数值集合。
ts
enum Color {Red, Green, Blue}
let c: Color = Color.Green;
Any:当你不确定一个变量会是什么类型时,你可以使用 any 类型。
ts
let notSure: any = 4;
notSure = "maybe a string instead";
notSure = false; // okay, definitely a boolean
Void:表示没有任何类型,通常用于表示一个函数没有返回值。
ts
function warnUser(): void {
}
Null 和 Undefined:在 TypeScript 中,null 和 undefined 各自有自己的类型,分别是 null 和 undefined。
ts
let u: undefined = undefined;
let n: null = null;
Never:表示的是那些永不存在的值的类型。
ts
function error(message: string): never {
throw new Error(message);
}
Object:表示非原始值,也就是除 number、string、boolean、symbol、null 或 undefined 之外的值。
ts
let obj: object = { a: 1, b: 2 };
Symbol:表示唯一的、不可变的原始值,通常用作对象的属性键。
ts
let s1: symbol = Symbol();
let sym: symbol = Symbol("key");
在使用 TypeScript 时,明确变量的类型可以帮助你编写更加健壮的代码,并且 TypeScript 的编译器会在编译时提供类型检查,这有助于捕捉潜在的错误。
function 函数
函数是 JavaScript 中传递数据的主要方式。 TypeScript 允许您指定函数的输入和输出值的类型。 声明函数时,可以在每个参数后面添加类型注释,以声明该函数接受的参数类型。参数类型注释位于参数名称之后:
ts
function greet(name: string) {
console.log("Hello, " + name.toUpperCase() + "!!");
}
当参数具有类型注释时,将检查该函数的参数:
ts
// Would be a runtime error if executed!
greet(42);
这将抛异常,Argument of type 'number' is not assignable to parameter of type 'string'.