数据类型
以前我们用js编写代码的时候,都是直接使用let、var、const 来定义数据类型;js会在运行时来确定数据类型,但是在ts中,可以在声明时就可以指定数据类型。如果你学过其他编程语言,比如c、java就能更好的理解了。和c语言一样,在指定好数据类型之后,变量就无法用其他类型的值进行赋值。
undefined
表示缺少初始值;只包含了一个值,就是undefined;我们可以直接在声明时显示定义,代码如下:
let val:undefined;
val= undefined
当你变量声明后没有赋值,该变量的值为undefined
let val;
还有一种时,开发时候,最长使用的json对象;如果没有给对象的某个属性赋值,该属性值为undefined
let obj={
id:1
}
obj["name"]
null
null 表示无值,表示此处不应该有值;
let num:number = null;
NaN
即表示Not a Number,表示这个值虽然属于数值类型,但是不是一个正确的数;
表示一个本来要返回数值的操作数未返回数值的情况;一般出现的地方可能是在一个类型转换
let re = parseInt('sdg454')
console.log(re); //NaN
性质
它与任何其他值(包括它自己)都不想等。即NaN != NaN
使用isNaN()函数可以检查一个值是否是NaN
布尔类型
布尔类型表示逻辑上的 真和假;这个类型的变量只有两个值: true 和false;
真假一般带有判断意味,所以布尔类型多数用于逻辑运算中;
- 数值类型
数值类型包括了整数、小数(浮点数);使用的关键字:number
let num:number= 1
let num1:number =9.9
let num2:number = -9
除了我们所常知的 十进制数,也可以用数值类型表示二进制、八进制、十六进制数
let hexNum:number = 0xf0e1; //16进制;以0x开头
let binNum:number = 0b1011; //二进制; 以0b开头
let octNum:number = 0o451; //八进制;以0o开头
数值类型能表示的最大范围
在ts 中 数值类型使用的 双精度64位浮点数格式
第一位是符号位;11位表示指数位;52位表示小数位
长整型
前面的数值类型能表示的范围是-2^53 ~ 2^53,但是超过这个范围就无法表示;为了解决这个问题,ts 引入了长整型,可以用它表示任意大小的整数。
关键字: bigint
声明
let bigNum:bigint = 1234n;
字符串类型
字符串类型变量用于存放文本数据。可以使用双引号或单引号 来表示字符串类型变量。
let str:string = 'good'
let str:string = "good"
但是有点开发经验的,都知道,很多时候,文本内容可能会存在跨行;如果还使用 双引号 或单引号 那么就要使用 + 号进行拼接; 虽然可以完成换行工作,但是后期维护大,容易缺少+,代码界面不整洁;ts 提供了支持跨行的方式;使用反引号 来表示字符串;
let str:string ='gsdgd'+'gsdgd'+
'gfdgfd'
let str:string = `
good
study
`