当前位置:网站首页>《21天精通TypeScript-5》类型注解与原始类型
《21天精通TypeScript-5》类型注解与原始类型
2022-08-03 06:40:00 【搞前端的半夏】
大家好,我是半夏,一个热爱分享的前端程序员(半吊子后端程序员).如果喜欢我的文章,可以关注 点赞 加我微信: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"

原始数据类型
JavaScript 的类型分为两种:原始数据类型(Primitive data types)和对象类型(Object types)。
原始数据类型包括:boolean、number、string、null、undefined 以及 ES6 Symbol 和 ES10 BigInt。
number
TypeScript 中的所有数字都是浮点数(number)或大整数(bigint)类型。浮点数具有类型number,而大整数具有类型bigint。
与 JavaScript 一样,TypeScript 支持十进制、十六进制、二进制和八进制的数字:
可以只声明一个变量:
let age: number;
也可以初始化一个变量
let age:number = 18
十进制数
let num: number = 100;
二进制
二进制数使用前导零,后跟小写或大写字母“B”,例如,0b或0B
let num2: number = 0b10;
console.log(num2) //2
八进制数
八进制数在字母后使用前导0o。后面0o的数字是范围内的0数字7:
let num8: number = 0o10
console.log(num8) //8
十六进制
十六进制数字使用前导零,后跟小写或大写字母X(0x或0X)。后面的数字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定义布尔类型,允许两个值true和false
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');
边栏推荐
猜你喜欢

安全狗云原生安全能力全面亮相全球数字经济大会暨ISC互联网安全大会

信息学奥赛一本通T1446:素数方阵

spark中的cache和checkpoint

第一章:ARM公司Cortex-M 系列处理器介绍,第二章:嵌入式软件开发介绍和第三章:Cortex-M3和Cortex-M4处理器的一般介绍

一文搞懂什么是@Component和@Bean注解以及如何使用

MySQL必知必会

Multi-Head-Attention principle and code implementation

Getting Started with Chrome Plugin Development

empty() received an invalid combination of arguments - got (tuple, dtype=NoneType, device=NoneType),

MySQL性能优化(硬件,系统配置,表结构,SQL语句)
随机推荐
第一章:ARM公司Cortex-M 系列处理器介绍,第二章:嵌入式软件开发介绍和第三章:Cortex-M3和Cortex-M4处理器的一般介绍
贷中存量客户的价值挖掘与分类实现,试试这一重要的场景模型
empty() received an invalid combination of arguments - got (tuple, dtype=NoneType, device=NoneType),
学会可视化大屏布局技巧,让领导都赞不绝口
第四章:架构,Architecture
亿流量大考(1):日增上亿数据,把MySQL直接搞宕机了...
【着色器实现Glow可控局部发光效果_Shader效果第十三篇】
信息学奥赛一本通T1452:Keyboarding
Flink的Exactly-Once、状态机制、watermark机制
最新版图书馆招聘考试常考试题重点事业单位
MYSQL存储过程注释详解
【着色器实现HandDrawn简笔画抖动效果_Shader效果第十二篇】
STL-vector容器
华为设备配置BFD多跳检测
FiBiNet torch reproduction
人脸检测和识别--face recognition包
【图像去噪】基于matlab稀疏表示KSVD图像去噪【含Matlab源码 2016期】
DIFM network, rounding and repetition
Oracle Rac 集群文件目录迁移
hashSet解析