TS基本类型使用
【摘要】 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: 表示布尔值(true 或 false)。
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)