TypeScript入门教程:基本数据类型详解与配置

作者:半夏

时间:2026-10-22

浏览:415

本文详细介绍TypeScript语言的基础知识,涵盖从环境搭建、npm安装及tsc编译配置到tsconfig.json的使用。重点解析布尔、数字、字符串、数组、元组、枚举、any、void及never等核心数据类型,结合代码示例说明类型声明、严格模式检查及常见应用场景,帮助开发者快速掌握TypeScript类型系统。

文章目录

TypeScript简介与环境配置

概述

TypeScript由C#之父Anders Hejlsberg主导开发,本质是在JavaScript基础上增加了可选的静态类型和基于类的面向对象特性,可视为JavaScript的超集。

ES5、ES6与TypeScript的关系如下:

TypeScript简介与环境配置

环境安装

首先需确保已安装npm,随后执行相关命令进行安装。

npm install -g typescript

安装完成后,由于TypeScript文件以.ts为后缀,运行前需将其编译为JS文件。编译过程十分简便,只需使用tsc命令即可。

tsc hello.ts

在项目中TS文件较多时,通常需要手动配置tsconfig.json文件以优化编译过程。该配置相对简单,具体细节可自行查阅相关资料。

基础类型

TypeScript提供以下基本数据类型:

• 布尔类型(boolean)

• 数字类型(number)

• 字符串类型(string)

• 数组类型(array)

• 元组类型(tuple)

• 枚举类型(enum)

• 任意值类型(any)

• null和undefined

• void类型

• never类型

TypeScript基本数据类型详解

布尔类型(boolean)

布尔类型是最基础的数据类型,仅包含true和false两个值。

注意:布尔类型变量不能赋予其他类型的值。


let flag: boolean = true;
flag = 1; //报错

数字类型(number)

与JavaScript一致,TypeScript中的数字均为浮点型,同时支持二进制、八进制、十进制和十六进制表示法。


let decLiteral: number = 6;
let hexLiteral: number = 0xf00d;
let binaryLiteral: number = 0b1010;
let octalLiteral: number = 0o744;

字符串类型(string)

字符串可使用单引号(')或双引号(")定义,此外还支持使用反引号(`)创建的模板字符串,用于定义多行文本或嵌入表达式。通过${ expr }语法可嵌入变量或表达式。


let name: string = 'Angular';
let years: string = 7;
let words: string = `今年是 ${ name } 发布 ${ years } 周年`;

数组类型(array)

TypeScript中数组的操作与JavaScript类似,建议为数组元素指定单一类型。定义数组主要有两种方式:

1、在元素类型后添加[]符号。

let arr: number[] = [2,3];

2、使用数组泛型语法。

let arr: Array<number> = [2,3];

元组类型(tuple)

元组类型用于表示已知元素数量和类型的数组,其中各元素的类型可以不同。


let x: [string,number];
x = ['Angular',5]; //正确
x = [5,'Angular']; //报错

枚举类型(enum)

枚举是一组可命名的整型常数集合,为成员赋予有意义的名称以增强代码可读性。


enum Color {red,green,blue};
let c: Color = Color.blue;
console.log(c); //2

枚举默认索引从0开始,也可手动指定初始值。


enum Color {red = 2,green = 3,blue = 6};
let c: Color = Color.blue;
console.log(c); //6

任意值类型(any)

any类型用于处理编程时类型不明确的变量,主要适用于以下三种场景:

1、值来源于动态内容,如用户输入或第三方库。此时不希望类型检查器进行检查,而是直接通过编译阶段检查。


let x: any = 1;
x = 'I am a string';
x = false;

2、允许在编译时选择性地包含或排除类型检查。


let x: any = 4;
x.toFixed(); //正确,并不检查是否存在

3、定义存储多种类型数据的数组时。

let arrarList: any[] = [1,'qwe',true];

null和undefined

默认情况下,null和undefined是所有类型的子类型,即可以将它们赋值给number等类型的变量。

若启用--strictNullChecks选项,则null和undefined只能赋值给void或它们各自对应的类型。


let x: number;
x = 1;
x = null; //正确

启用 --strictNullChecks
let y: number;
y = 1;
y = null; //错误

void类型

void表示没有任何类型,例如函数无返回值时,其返回类型为void。


function hello(): void{
  alert('hello Angular');
}

never类型

never是其他类型(包括null和undefined)的子类型,代表永远不会出现的值。声明为never类型的变量只能被never类型赋值,在函数中通常表示抛出异常或代码无法执行到终点。


let x: never;
let y: number;
//报错
x = 123;
//正确
y = x;

以上内容为本文全部介绍,希望能为各位的学习或工作提供帮助,同时也感谢大家的支持!

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章