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,一般很少用到
五、关注我们
点击下方关注我???