最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

千鋒教育前端TypeScript入門視頻教程(陸神頂配版TS入門教程)

2023-07-18 22:09 作者:蝶骨呢  | 我要投稿

TypeScript 基礎(chǔ)類型

js的數(shù)據(jù)類型?

number 、string、 null 、 undefined、 boolean、 object、?function、 array

ts新增的數(shù)據(jù)類型

any任意類型 enum 枚舉 聯(lián)合類型 字面量類型 unknown void

Boolean 類型

聲明一個(gè)變量flag,同時(shí)指定它的類型為boolean

const flag: boolean = true;

Number 類型

聲明一個(gè)變量a,同時(shí)指定它的類型為number

const count: number = 10;

String 類型

聲明一個(gè)變量str,同時(shí)指定它的類型為string

let name: string = "樹哥";

Enum?枚舉類型

枚舉類型用于定義數(shù)值集合,使用枚舉我們可以定義一些帶名字的常量。 使用枚舉可以清晰地表達(dá)意圖或創(chuàng)建一組有區(qū)別的用例。,如周一到周日,方位上下左右等

·??????普通枚舉

1. enum Color {

2. ??RED,

3. ??PINK,

4. ??BLUE,

5. }

6. ?

7. const red: Color = Color.RED;

8. console.log(red); // 0

初始值默認(rèn)為 0 其余的成員會(huì)會(huì)按順序自動(dòng)增長 可以理解為數(shù)組下標(biāo)

·??????設(shè)置初始值

1. enum Color {

2. ??RED = 2,

3. ??PINK,

4. ??BLUE,

5. }

6. const pink: Color = Color.PINK;

7. console.log(pink); // 3

·??????字符串枚舉

1. enum Color {

2. ??RED = "紅色",

3. ??PINK = "粉色",

4. ??BLUE = "藍(lán)色",

5. }

6. ?

7. const pink: Color = Color.PINK;

8. console.log(pink); // 粉色

·??????常量枚舉

使用 const 關(guān)鍵字修飾的枚舉,常量枚舉與普通枚舉的區(qū)別是,整個(gè)枚舉會(huì)在編譯階段被刪除 我們可以看下編譯之后的效果

1. const enum Color {

2. ??RED,

3. ??PINK,

4. ??BLUE,

5. }

6. ?

7. const color: Color[] = [Color.RED, Color.PINK, Color.BLUE];

8. console.log(color); //[0, 1, 2]

9. ?

10. //編譯之后的js如下:

11. var color = [0 /* RED */, 1 /* PINK */, 2 /* BLUE */];

12. // 可以看到我們的枚舉并沒有被編譯成js代碼 只是把color這個(gè)數(shù)組變量編譯出來了

Array 類型

對(duì)數(shù)組類型的定義有兩種方式:

1. ??const arr: number[] = [1,2,3];

2. ??const arr2: Array<number> = [1,2,3];

元組(tuple)類型

上面數(shù)組類型的方式,只能定義出內(nèi)部全為同種類型的數(shù)組。對(duì)于內(nèi)部不同類型的數(shù)組可以使用元組類型來定義

元組( Tuple )表示一個(gè)已知數(shù)量和類型的數(shù)組,可以理解為他是一種特殊的數(shù)組

元組,元組就是固定長度的數(shù)組???語法:[類型, 類型, 類型]

?const tuple: [number, string] = [1, "zhangmazi"];

需要注意的是,元組類型只能表示一個(gè)已知元素?cái)?shù)量和類型的數(shù)組,長度已指定,越界訪問會(huì)提示錯(cuò)誤。例如,一個(gè)數(shù)組中可能有多種類型,數(shù)量和類型都不確定,那就直接any[]。

undefined和null

默認(rèn)情況下 null 和 undefined 是所有類型的子類型。 也就是說你可以把 null 和 undefined 賦值給其他類型。

let a: undefined = undefined;

let b: null = null;

let str: string = 'zhangmazi';

str = null; // 編譯正確

str = undefined; // 編譯正確

如果你在tsconfig.json指定了"strictNullChecks":true ,即開啟嚴(yán)格模式后, null 和 undefined 只能賦值給 void 和它們各自的類型。 (這里感謝評(píng)論區(qū)指出) null 和 undefined 只能給它們自己的類型賦值

// 啟用 --strictNullChecks

let x: number;

x = 1; // 編譯正確

x = undefined;??// 編譯錯(cuò)誤

x = null;??// 編譯錯(cuò)誤

但是 undefined 可以給 void 賦值

let c:void = undefined // 編譯正確

let d:void = null // 編譯錯(cuò)誤

any 類型

any會(huì)跳過類型檢查器對(duì)值的檢查,任何值都可以賦值給any類型 any類型就是js(建議不要用)

ts會(huì)有命名規(guī)范,不能命名為any

any 表示的是任意類型,一個(gè)變量設(shè)置類型為any后相當(dāng)于對(duì)該變量關(guān)閉了TS的類型檢測

使用TS時(shí),不建議使用any類型

聲明變量如果不指定類型,則TS解析器會(huì)自動(dòng)判斷變量的類型為any (隱式的any)

any是可以賦值任何類型

?let value: any = 1;

?value = "zhangmazi"; // 編譯正確

?value = []; // 編譯正確

?value = {};// 編譯正確

void 類型

void 意思就是無效的, 一般只用在函數(shù)上,告訴別人這個(gè)函數(shù)沒有返回值。

?function sayHello(): void {

???console.log("hello 啊,樹哥!");

?}

never 類型

拋出異常

never 類型表示的是那些永不存在的值的類型。 例如never 類型是那些總是會(huì)拋出異?;蚋揪筒粫?huì)有返回值的函數(shù)表達(dá)式或箭頭函數(shù)表達(dá)式的返回值類型

值會(huì)永不存在的兩種情況:

·??????1 如果一個(gè)函數(shù)執(zhí)行時(shí)拋出了異常,那么這個(gè)函數(shù)永遠(yuǎn)不存在返回值(因?yàn)閽伋霎惓?huì)直接中斷程序運(yùn)行,這使得程序運(yùn)行不到返回值那一步,即具有不可達(dá)的終點(diǎn),也就永不存在返回了)

·??????2 函數(shù)中執(zhí)行無限循環(huán)的代碼(死循環(huán)),使得程序永遠(yuǎn)無法運(yùn)行到函數(shù)返回值那一步,永不存在返回。

// 異常

function error(msg: string): never { // 編譯正確

?throw new Error(msg);

}

?

// 死循環(huán)

function loopForever(): never { // 編譯正確

?while (true) { };

}

Unknown 類型

unknown與any一樣,所有類型都可以分配給unknown:

unknown 表示未知類型的值

只能賦值給unkonwn any

?let value: unknown = 1;

?value = "zhangmazi"; // 編譯正確

?value = false; // 編譯正確

unknown與any的最大區(qū)別是:

任何類型的值可以賦值給any,同時(shí)any類型的值也可以賦值給任何類型。unknown 任何類型的值都可以賦值給它,但它只能賦值給unknown和any


千鋒教育前端TypeScript入門視頻教程(陸神頂配版TS入門教程)的評(píng)論 (共 條)

分享到微博請遵守國家法律
静宁县| 洪洞县| 宝山区| 西丰县| 合江县| 尼木县| 林周县| 柳林县| 镇雄县| 秭归县| 景德镇市| 资阳市| 泾阳县| 太湖县| 晋城| 桐城市| 康保县| 旬邑县| 肇州县| 广饶县| 霍城县| 兴和县| 光泽县| 惠州市| 馆陶县| 资溪县| 宾川县| 会同县| 额济纳旗| 玛曲县| 河东区| 龙江县| 监利县| 易门县| 东乡族自治县| 棋牌| 舞钢市| 安宁市| 新安县| 和龙市| 凤城市|