2020你应该知道的TypeScript学习路线【数据类型】

前端微服务

共 2020字,需浏览 5分钟

 ·

2020-12-25 16:49

公众号:前端微服务
GitHub:https://github.com/yongbolu
作  者:子奕

一、概述

任何编程语言(除了汇编,汇编只规定数据的字长),都有属于自己的数据类型,数据类型背后,隐藏的是编译器或者程序解释器对数据处理方式的定义。在定义数据的类型的时候,提前定义好数据的类型,可以极大的提高程序的执行效率,减少内存空间的不必要消耗。说到数据类型,JavaScript一直被列为弱类型(var)的语言,需要注意的是。弱类型不代表没有类型,希望通过今天的学习,大家对JavaScript数据类型有一个新的认识,同时也对JavaScript超集的(TypeScript)的数据类型有一个对比的认识,平安夜祝大家的梦想都能实现,如果大家觉得有帮助,记得给小编点个赞,如果想获取更多干货请关注前端微服务公众号,不定期为大家带来干货。

二、Javaasacript数据类型

数据类型包括两种:数值类型和引用类型

2.1 基本数据类型(值类型)

所有基本类型的值都是不可改变的。而变量是可以变的,它可以通过指针重新指向一个新的基本类型的值,JavaScript中的六大基本数据类型

  • 字符串类型(string):字符串型。
  • 数字类型(number):包括浮点数,以及 NaN、±Infinity。
  • 布尔类型(boolean):布尔型,即 { true, false }。
  • 符号类型(symbol):符号类型。
  • null 和 undefined

2.2 复杂数据类型(引用类型)

复杂数据类型的值在创建的时候会开辟一片堆内存,堆内存有一个可后续方便索引的16进制的地址。之后赋值时,JavaSCript引擎会通过指针将变量指向其对应的可索引地址来完成赋值操作。

  • Object
    • Array-
    • Function
    • Date ,
    • Regexp ...

三、TypeScript数据类型

typescript是JavaScript的扩展,说到js的数据类型,大家肯定会想到它是一种弱类型的语言,不需要指定特定的数据类型,ts的语言也正在往java这些强类型的语言靠近,TypeScript中除了es5中的string、boolean、number、array、null和undefined之外还多了元组类型tuple、枚举类型enum、任意类型any、void类型、never类型。

  • 字符串类型(string):字符串型。
  • 数字类型(number):包括浮点数,以及 NaN、±Infinity。
  • 布尔类型(boolean):布尔型,即 { true, false }。
  • 数组类型(array)
  • 元组类型(tuple)
  • 枚举类型(enum)
  • 任意类型(any)
  • null 和 undefined
  • void类型
  • never类型

四、使用案例

  • TS定义布尔类型(boolean)
let isShow:boolean=false;
isShow = true;
console.log(isShow);
  • TS定义number类型(number)
let age:number=18;
  • TS定义字符串类型(string)
let str:string="圣诞节快乐!"
  • TS定义数组类型,这有两种方法(array)
const arr1:string[]=["张三","李四","王五"];
const arr2:Array=["张三","李四","王五"];

-TS 定义元组类型,元组类型也是数组类型的一种,如下(tuple)

const arr3:[number,string] = [2,'this is typescript'];
  • TS定义枚举类型(enum)
enum Result{success=1,error=0}
let r:Result = Flag.success;
console.log(r);// 1
  • 当一个元素可能是null,可能是undefined,可能是number
let num:number| null|undefined;
num=123;
console.log(num);//123
num=null;
console.log(num);//null
num=undefined;
console.log(num);//undefined
  • TS的void一般只用于定义函数的时候用
function run():void{
alert("aaa");
}
run()
function run1():number{
return 123
}
run1();
  • TS中的never类型表示从不会出现的值包括undefined和null,一般很少用到

五、关注我们

点击下方关注我???


浏览 44
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报