2020你應(yīng)該知道的TypeScript學(xué)習(xí)路線【數(shù)據(jù)類型】

公眾號:前端微服務(wù)
GitHub:https://github.com/yongbolu
作 ?者:子奕
一、概述
任何編程語言(除了匯編,匯編只規(guī)定數(shù)據(jù)的字長),都有屬于自己的數(shù)據(jù)類型,數(shù)據(jù)類型背后,隱藏的是編譯器或者程序解釋器對數(shù)據(jù)處理方式的定義。在定義數(shù)據(jù)的類型的時候,提前定義好數(shù)據(jù)的類型,可以極大的提高程序的執(zhí)行效率,減少內(nèi)存空間的不必要消耗。說到數(shù)據(jù)類型,JavaScript一直被列為弱類型(var)的語言,需要注意的是。弱類型不代表沒有類型,希望通過今天的學(xué)習(xí),大家對JavaScript數(shù)據(jù)類型有一個新的認(rèn)識,同時也對JavaScript超集的(TypeScript)的數(shù)據(jù)類型有一個對比的認(rèn)識,平安夜祝大家的夢想都能實現(xiàn),如果大家覺得有幫助,記得給小編點個贊,如果想獲取更多干貨請關(guān)注前端微服務(wù)公眾號,不定期為大家?guī)砀韶洝?/p>
二、Javaasacript數(shù)據(jù)類型
數(shù)據(jù)類型包括兩種:數(shù)值類型和引用類型
2.1 基本數(shù)據(jù)類型(值類型)
所有基本類型的值都是不可改變的。而變量是可以變的,它可以通過指針重新指向一個新的基本類型的值,JavaScript中的六大基本數(shù)據(jù)類型
字符串類型(string):字符串型。 數(shù)字類型(number):包括浮點數(shù),以及 NaN、±Infinity。 布爾類型(boolean):布爾型,即 { true, false }。 符號類型(symbol):符號類型。 null 和 undefined
2.2 復(fù)雜數(shù)據(jù)類型(引用類型)
復(fù)雜數(shù)據(jù)類型的值在創(chuàng)建的時候會開辟一片堆內(nèi)存,堆內(nèi)存有一個可后續(xù)方便索引的16進制的地址。之后賦值時,JavaSCript引擎會通過指針將變量指向其對應(yīng)的可索引地址來完成賦值操作。
Object Array- Function Date , Regexp ...
三、TypeScript數(shù)據(jù)類型
typescript是JavaScript的擴展,說到j(luò)s的數(shù)據(jù)類型,大家肯定會想到它是一種弱類型的語言,不需要指定特定的數(shù)據(jù)類型,ts的語言也正在往java這些強類型的語言靠近,TypeScript中除了es5中的string、boolean、number、array、null和undefined之外還多了元組類型tuple、枚舉類型enum、任意類型any、void類型、never類型。
字符串類型(string):字符串型。 數(shù)字類型(number):包括浮點數(shù),以及 NaN、±Infinity。 布爾類型(boolean):布爾型,即 { true, false }。 數(shù)組類型(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="圣誕節(jié)快樂!"
TS定義數(shù)組類型,這有兩種方法(array)
const arr1:string[]=["張三","李四","王五"];
const arr2:Array=["張三","李四","王五"];
-TS 定義元組類型,元組類型也是數(shù)組類型的一種,如下(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
當(dāng)一個元素可能是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一般只用于定義函數(shù)的時候用
function run():void{
alert("aaa");
}
run()
function run1():number{
return 123
}
run1();
TS中的never類型表示從不會出現(xiàn)的值包括undefined和null,一般很少用到
五、關(guān)注我們
點擊下方關(guān)注我???
