Skip to content

❤ TS类型

在 TypeScript 中,类型(Type)是用于描述变量、函数等值的形状和行为的,TypeScript 提供了多种内置类型

🌟类型注解(Type Annotation)

👉作用

类型注解是TypeScript区别于JavaScript最显著的特点

TS中为了使代码更规范,更具有可维护性,增加了类型的概念,用来约束变量、参数和函数的值

也就是TS给变量设置了类型,使得变量只能存储某种类型的值

👉 语法

JS
let 变量: 类型;

let 变量: 类型 = 值;

function fn(参数: 类型, 参数: 类型): 类型{
  ...
}

例如TypeScript使用类型注解来显式指定标识符的类型(变量、函数、对象)

js
//代码之中的` : number` 就是类型注解

var age: number = 44;          // 数字变量
var name: string = "Rahul";     // 字符串变量
var isUpdated: boolean = true; // 布尔变量

🌟类型

约束的思想

接下来看看TS的类型约束

👉所有类型

类型例子描述
number1, -33, 2.5任意数字
string'hi', "hi", hi任意字符串
booleantrue, false布尔值true或false
字面量其本身限制变量的值就是该字面量的值
any*任意类型
unknown*类型安全的any
void空值(undefined)没有值(或undefined)
never没有值不能是任何值
object任意的JS对象
array[1,2,3]任意JS数组
tuple[4,5]元组,TS新增类型,固定长度数组
enumenum {A, B}枚举,TS中新增类型

1. 基本类型(Primitive Types)

JS
number: 表示所有数字类型(整数和浮点数)。

let age: number = 25;
let pi: number = 3.14;


string: 表示所有字符串类型。
let name: string = "Alice";


boolean: 表示布尔值(truefalse)。
let isActive: boolean = true;

null: 表示空值。
let nothing: null = null;


undefined: 表示未定义的值。

let notDefined: undefined = undefined;



symbol: 表示唯一的标识符类型,通常用于对象属性的唯一标识。
let sym: symbol = Symbol('unique');


bigint: 表示大整数类型。
let bigNumber: bigint = 100n;

👉数字number

所有的数字都是浮点数,部区分 int 、float、double等类 型,所有的数字都是number

number类型支持十进制、十六进制等,以及 NaN和Infinity等

JS
const decimal: number = 66;
const binary: number = 0b1010// 10
const hex: number = 0xf00d// 61453
const octal: number = 0o744;// 484
const big: bigint = 100n;// 表示一个bigint型

👉string字符串

支持常规的单引号和双引号,也支持ES6的模板字符串

JS
const name: string = 'AA'// 
const desc: string = `My name is ${name}`// My name is AA

👉boolean

JS
let isDone: boolean = false;

👉null和undefined空

js
const u: undefined = undefined// undefined
const n: null = null// null

👉Symbol()唯一标识符

每个方法返回的值都是唯一的,并且不能与其他任何值相等。

JS
const sym1: symbol = Symbol()
const sym2: symbol = Symbol('foo')
const sym3: symbol = Symbol('foo')
console.log(sym2 === sym3) // false

Released under the MIT License.