您好,登錄后才能下訂單哦!
今天小編給大家分享一下TypeScript基本類型有哪些的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
TypeScript:
以JavaScript為基礎構建的語言
一個JavaScript的超集
可以在任何支持JavaScript的平臺中執行
TypeScript擴展了JavaScript,并添加了類型
TS不能被JS解析器直接執行,TS編譯為任意版本的JS【TS完全兼容JS】
TypeScript增加了什么?
類型(ts給變量添加類型,js的類型是值)
支持ES的新特性
添加了ES不具備的新特性(接口,抽象類)
豐富的配置選項
強大的開發工具
TypeScript開發環境的搭建
下載Node.js
安裝Node.js
使用npm全局安裝typescript
npm i -g typescript
使用tsc對ts文件進行編譯
創建一個ts文件
進行ts文件所在目錄
tsc xxx.ts
TypeScript的基本類型
一。類型聲明
通過類型聲明可以指定TS中變量(參數,形參)的類型
指定類型后,當為變量賦值時,TS編譯器會自動檢查值是否符合類型聲明,符合則賦值,否則報錯
類型聲明設置了類型,使得變量只能存儲某種類型的值
語法:
let 變量:類型
let 變量:類型 = 值;
Function fn(參數:類型,參數:類型):類型{
…
}
二。自動類型判斷
TS擁有自動的類型判斷機制
當對變量的聲明和賦值同時進行的,TS編譯器會自動判斷變量的類型
當變量的聲明和賦值同時進行,可以忽略類型聲明
三。類型
類型 例子 描述
number 1, -1, 1.5 任意數字
string 'hi', "hi", hi 任意字符串
boolean true、false 布爾值true或false
字面量 其本身 限制變量的值就是該字面量的值
any * 任意類型
unknown * 類型安全的any
void 空值(undefined) 沒有值(或undefined)
never 沒有值 不能是任何值
object {name:'jiangjiang'} 任意的JS對象
array [1,2,3] 任意JS數組
tuple [4,5] 元素,TS新增類型,固定長度數組
enum enum{A, B} 枚舉,TS中新增類型
- number
【TS中所有的數字都是浮點數且類型為number】
支持:二進制、八進制、十進制、十六進制字面量
let binary: number = 0b1010;
let octal: number = 0o744;
let decimal: number = 6;
let hex: number = 0xf00d;
- string
支持:單引號、雙引號、模板字符串
let color: string = "blue";
color = 'red';
let fullName: string = ——Bob Bobbington——;
let age: number = 18;
let sentence: string = ——Hello, my name is ${fullName}.
I'll be ${age + 1} years old next month.——;
- boolean
let isDone: boolean = false;
- 字面量
【使用字面量去指定變量的類型,通過字面量可以確定變量的取值范圍】
let color: 'red' | 'blue' | 'black';
let num: 1 | 2 | 3 | 4 | 5;
- any
-any表示的是任意類型,一個變量設置類型為any后相當于對該變量關閉了TS的類型檢測
-聲明變量如果不指定類型,則TS解析器會自動判斷變量的類型為any(存在隱式的ang)
let d: any = 4;
d = 'hello';
d = true;
-當把一個any類型賦值給字符串時,不會報錯,同時s也關閉了TS的類型檢測;d的類型是any,它可以賦值給任意變量
let s:string;
s = d;
- unknown
-unknown實際上就是一個類型安全的any;unknown類型的變量,不能直接賦值給其他變量
let e:unknown;
e=10;
//不能將類型“unknown”分配給類型“string”,會報錯。
// s = e;
if(typeof e==='string'){
s = e;
}
- void
【表示空,以函數為例,就表示沒有返回值的函數】
function fn():void{
//return;
//return undefined;
//return null;
}
- never
【表示永遠不會返回結果(連null,undefined也不會返回),用來返回報錯信息,中斷程序】
function fn2():never{
throw new Error("報錯啦寶")
}
- object
【表示一個js對象】
let a:object;
a = {}
a = function(){}
{}用來指定對象中可以包含哪些屬性
語法:{屬性名:屬性值,屬性名:屬性值}
在屬性名后邊加上?,表示屬性是可選的
let b:{name:string,age?:number}
b={name:'jianjiang'}
如果想要加入多個不確定類型的屬性對,就可以使用[propName:string]:any 表示任意類型的屬性:
let c:{name:string,[propName:string]:any}
c={name:"jiangjiang",age:18,gender:'女'}
設置函數結構的類型聲明:
語法:(形參:類型,形參:類型)=>返回值
let d:(a:number,b:number)=>number
d=function(n1,n2){
return n1+n2
}
d(1,2)
- array
數組的類型聲明:
類型[]
Array<類型>
//string[] 表示字符串數組
let e:string[];
e=['a','b','c']
//number[]表示數值數組
let f:number[]
let g:Array<number>
g=[1,2,3]
- tuple
元祖:固定長度的數組(與數組不同,數組每個元素都相同類型,而元組允許每個元素可以是不同類型)
語法:[類型,類型,類型]
let h:[string,number]
h=['hello',123]
- enum【枚舉】
enum Color {
Red,
Green,
Blue,
}
let c: Color = Color.Green;
enum Color {
Red = 1,
Green,
Blue,
}
let c: Color = Color.Green;
enum Color {
Red = 1,
Green = 2,
Blue = 4,
}
let c: Color = Color.Green;
- type【類型的別名:簡化類型的使用】
type myType = 1|2|3|4|5;
let k:myType;
k=2;
- 類型斷言
-有些情況下,變量的類型對于我們來說是很明確,但是TS編譯器卻并不清楚,此時,可以通過類型斷言來告訴編譯器變量的類型,斷言有兩種形式:
第一種
let someValue: unknown = "this is a string";
let strLength: number = (someValue as string)。length;
第二種
let someValue: unknown = "this is a string";
以上就是“TypeScript基本類型有哪些”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。