• 从零开始学习typescript——数据类型


    数据类型

    以前我们用js编写代码的时候,都是直接使用let、var、const 来定义数据类型;js会在运行时来确定数据类型,但是在ts中,可以在声明时就可以指定数据类型。如果你学过其他编程语言,比如c、java就能更好的理解了。和c语言一样,在指定好数据类型之后,变量就无法用其他类型的值进行赋值。

    undefined

    表示缺少初始值;只包含了一个值,就是undefined;我们可以直接在声明时显示定义,代码如下:

    let val:undefined;
    val= undefined
    
    • 1
    • 2

    当你变量声明后没有赋值,该变量的值为undefined

    let val;
    
    • 1

    还有一种时,开发时候,最长使用的json对象;如果没有给对象的某个属性赋值,该属性值为undefined

    let obj={
    id:1
    }
    obj["name"]
    
    • 1
    • 2
    • 3
    • 4

    null

    null 表示无值,表示此处不应该有值;

    let num:number = null;
    
    • 1

    NaN

    即表示Not a Number,表示这个值虽然属于数值类型,但是不是一个正确的数;
    表示一个本来要返回数值的操作数未返回数值的情况;一般出现的地方可能是在一个类型转换

    let re = parseInt('sdg454')
    console.log(re); //NaN
    
    • 1
    • 2

    性质
    它与任何其他值(包括它自己)都不想等。即NaN != NaN
    使用isNaN()函数可以检查一个值是否是NaN

    布尔类型

    布尔类型表示逻辑上的 真和假;这个类型的变量只有两个值: true 和false;
    真假一般带有判断意味,所以布尔类型多数用于逻辑运算中;

    • 数值类型
      数值类型包括了整数、小数(浮点数);使用的关键字:number
    let num:number= 1
    let num1:number =9.9
    let num2:number = -9
    
    • 1
    • 2
    • 3

    除了我们所常知的 十进制数,也可以用数值类型表示二进制、八进制、十六进制数

    let hexNum:number = 0xf0e1; //16进制;以0x开头
    let binNum:number = 0b1011; //二进制; 以0b开头
    let octNum:number = 0o451;  //八进制;以0o开头
    
    • 1
    • 2
    • 3

    数值类型能表示的最大范围
    在ts 中 数值类型使用的 双精度64位浮点数格式
    在这里插入图片描述
    第一位是符号位;11位表示指数位;52位表示小数位

    长整型

    前面的数值类型能表示的范围是-2^53 ~ 2^53,但是超过这个范围就无法表示;为了解决这个问题,ts 引入了长整型,可以用它表示任意大小的整数。

    关键字: bigint

    声明

    let bigNum:bigint = 1234n;
    
    • 1

    字符串类型

    字符串类型变量用于存放文本数据。可以使用双引号或单引号 来表示字符串类型变量。

    let str:string = 'good'
    let str:string = "good"
    
    • 1
    • 2

    但是有点开发经验的,都知道,很多时候,文本内容可能会存在跨行;如果还使用 双引号 或单引号 那么就要使用 + 号进行拼接; 虽然可以完成换行工作,但是后期维护大,容易缺少+,代码界面不整洁;ts 提供了支持跨行的方式;使用反引号 来表示字符串;

    let str:string ='gsdgd'+'gsdgd'+
    	'gfdgfd'
    
    • 1
    • 2
    let str:string = `
    good 
    study
    `
    
    • 1
    • 2
    • 3
    • 4
  • 相关阅读:
    shiro-会话管理(session管理)
    DevEco Studio如何在真机设备上运行HarmonyOS应用之必备的签名文件怎么做
    命令执行漏洞
    C++ :输出 Hello, World
    小鹏汽车面试经验分享
    Java需求文档的写法
    聚观早报 | iPhone接口将与安卓统一;《三体》动画定档12月3日
    1162 Postfix Expression – PAT甲级真题
    css:一个容器(页面),里面有两个div左右摆放并且高度和容器高度一致,左div不会随着页面左右伸缩而变化,右div随页面左右伸缩宽度自适应(手写)
    C# Thread.Sleep(0)有什么用?
  • 原文地址:https://blog.csdn.net/weixin_46282323/article/details/134541310