zl程序教程

您现在的位置是:首页 >  前端

当前栏目

《21天精通TypeScript-5》类型注解与原始类型

typescript 类型 精通 注解 21 原始
2023-09-11 14:19:50 时间

大家好,我是半夏👴,一个热爱分享的前端程序员(半吊子后端程序员).如果喜欢我的文章,可以关注➕ 点赞 👍 加我微信:frontendpicker,一起学习交流前端,成为更优秀的工程师~关注公众号:搞前端的半夏,了解更多前端知识! 点我探索新世界!

专栏地址

https://blog.csdn.net/shangyanaf/category_11822476.html

专栏封面

类型

TypeScript提供了多种数据类型,通过类型对变量进行限制,称之为类型注解,使用类型注解后,不能随意变更变量的数据类型。

例如C/C++定义一个整型数据,使用int限制变量的类型。

int age = 13;

在TypeScript中,类型注解使用:数据类型语法。

let variableName: type;
let variableName: type = value;
const constantName: type = value;

例如我们想声明一个Number类型的变量,我们可以这样编写代码:

let num: number = 123;

约定了具体的类型,只能赋值该类型的值!

num = "123"

image-20220724153050856

原始数据类型

JavaScript 的类型分为两种:原始数据类型(Primitive data types)和对象类型(Object types)。

原始数据类型包括:boolean、number、string、nullundefined 以及 ES6 Symbol 和 ES10 BigInt

number

TypeScript 中的所有数字都是浮点数(number)或大整数(bigint)类型。浮点数具有类型number,而大整数具有类型bigint

与 JavaScript 一样,TypeScript 支持十进制、十六进制、二进制和八进制的数字:

可以只声明一个变量:

let age: number;

也可以初始化一个变量

let age:number = 18

十进制数

let num: number = 100;

二进制

二进制数使用前导零,后跟小写或大写字母“B”,例如,0b0B

let num2: number = 0b10;
console.log(num2) //2

八进制数

八进制数在字母后使用前导0o。后面0o的数字是范围内的0数字7

let num8: number = 0o10
console.log(num8) //8

十六进制

十六进制数字使用前导零,后跟小写或大写字母X0x0X)。后面的数字0x必须在 ( 0123456789ABCDEF) 范围内。

let num16: number = 0xA
console.log(num16); //10

bigint

BigInts 是 ECMAScript 中即将提出的提案的一部分,理论上允许我们任意大的整数。Typescript在3.2版本为BigInts 提供了类型检查:bigInts 。我们可以通过BigInts()构造函数或者任意数字末尾加n来创建一个大数。

let numBig: bigint = 100n; 
let numBig: bigint = 100n; 

string

与 JavaScript 一样,TypeScript 字符串使用双引号 ( ") 或单引号 ( '),使用:string来定义类型 。

let userName: string = "半夏";

同时,TypeScript 支持模板字符串的写法。

let desc:string=`我是一个前端程序猿,
                同时也是半吊子后端`;

boolean

TypeScript使用:boolean定义布尔类型,允许两个值truefalse

let isBoy: boolean = true;

null 与 undefined

在ts中,分别使用:null:undefined来定义null 与 undefined

const undef: undefined = undefined;
const nul: null = null;

undefined表示未分配值,这意味着一个变量已被申明单尚未被赋值。null表示这里优质,但是确实个空值(许多编程语言中,都使用nulll来表示没有值)。

关于这两者在TS中的区别,在后面的文章会详细介绍。

Symbol

TypeScript使用:symbol定义Symbol类型.

const symbolVariable: symbol = Symbol('symbol');