TS基本类型使用

举报
林太白 发表于 2025/03/13 21:59:42 2025/03/13
534 0 0
【摘要】 TS基本类型使用

❤ TS基本类型使用

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

🌟类型注解(Type Annotation)

👉作用

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

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

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

👉 语法

let 变量: 类型;let 变量: 类型 =;function fn(参数: 类型, 参数: 类型): 类型{
  ...
}

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

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

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

🌟类型

约束的思想

接下来看看TS的类型约束

👉所有类型

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

1. 基本类型(Primitive Types)

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等

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的模板字符串

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

👉boolean

let isDone: boolean = false;

👉null和undefined空

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

👉Symbol()唯一标识符

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

const sym1: symbol = Symbol()
const sym2: symbol = Symbol('foo')
const sym3: symbol = Symbol('foo')
console.log(sym2 === sym3) // false
【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。