【TS 系列 】二

基础类型

除了string、number、boolean、null、undefined

特殊的:symbol

当然有句好记的顺口溜,你可以试着记下,nssbnu(你是傻白妞)

特别的
  • string

    // es6 写法
    let age: number = 20;
    console.log(`I am ${age + 1} years old`);
    
  • number

    和js一样,ts中的所有数字都是浮点数。这些浮点数的类型是number,所以需要留意小数点的精度问题。

    let increaseNum = 0.01
    let count: number = 20
    
    let timer = setInterval(() => {
      increaseNum += 0.01
      console.log(increaseNum)
    
      if (increaseNum > 0.15) {
        clearInterval(timer)
      }
    }, 1000);
    

    输出(简单讲就是10进制通过2进制存储【这里出现问题】-- 小数点后的数通过乘2取个位,然后在10进制显示):

在这里插入图片描述

tips: 可以通过math.js 或者 currency.js 进行解决

  • undefined 和 null

    在指定了–strictNullChecks 或者 strict 时,nullundefined 只能赋值给void和它们自身。

  • symbol

    由Symbol函数创建,唯一的且是不可变的,系统也有内置的symbols,如Symbol.hasInstance等。

    let sym1 = Symbol();
    let sym2 = Symbol("key"); // 可选的字符串key
    
    let sym3 = Symbol("key");
    console.log(sym2 === sym3); // false, symbols是唯一的
    

其它常用类型:

  • 枚举

    // 直接声明,其实内部都是健值对
    enum HBody {Leg, Head, Foot} // 默认从值从0开始
    console.log(Body.Leg) // 0
    
    // 全字符串赋值
    enum HBody {Leg='leg', Head = 'head', Foot = 'foot'};
    console.log(HBody.Leg); // leg
    
    // 数字与字符串混搭
    enum HBody {Leg, Head, Foot = 'foot'};
    console.log(HBody.Leg); // 0
    console.log(HBody.Foot); // foot
    
    // tips:当值为数字时,可以进行反向查找,如:
    enum HBody {Leg, Head, Foot = 'foot'};
    console.log(HBody[1]) // Head
    
  • object

    除6种基础类型外的 其它可作为值的类型

    let o1: object = 1; // 错误
    let o2: object = never; // 错误
    let o3: object = [1, '2']; // 正确
    
  • 数组

    元组:特殊的数组,数组类型和数组个数都固定。当返回数据不多时可用此方法进行数据约束。

    let x: [string, number];
    x = [2, 'ni']; // 错误
    x = ['ni', 2, 'bu']; // 错误
    x = ['ni', 2]; // 正确
    
  • any

    严格模式下,两种情况可能会用到:真的不清楚变量是什么类型,不希望类型检查器对某些变量进行检查。

  • never

    // 主要用在函数上
    // 1. 返回never的函数必须存在无法达到的终点
    function error(message: string): never {
        throw new Error(message);
    }
    
    // 2. 返回never的函数必须存在无法达到的终点
    function infiniteLoop(): never {
        while (true) {
        }
    }
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值