一文詳解TypeScript中的內(nèi)置數(shù)據(jù)類型
作為一門類型安全的編程語言,TypeScript 提供了多種內(nèi)置數(shù)據(jù)類型,幫助我們更好地定義和操作數(shù)據(jù)。
1. 布爾類型(boolean)
首先,讓我們來了解一下布爾類型。布爾類型代表了一個邏輯值,只有兩個可能的取值:true(真)和 false(假)。在 TypeScript 中,我們可以使用 boolean 關(guān)鍵字來聲明布爾類型的變量。
let isDone: boolean = false;
布爾類型在條件判斷和邏輯運(yùn)算中非常常見。例如,我們可以使用布爾類型來判斷某個條件是否成立,并根據(jù)結(jié)果執(zhí)行相應(yīng)的操作。
let isLogged: boolean = true;
if (isLogged) {
console.log("用戶已登錄!");
} else {
console.log("用戶未登錄!");
}2. 數(shù)字類型(number)
下一個類型是數(shù)字類型。數(shù)字類型用于表示數(shù)值,包括整數(shù)和浮點(diǎn)數(shù)。在 TypeScript 中,我們可以使用 number 關(guān)鍵字聲明數(shù)字類型的變量。
let age: number = 27; let pi: number = 3.14;
數(shù)字類型支持基本的數(shù)學(xué)運(yùn)算,例如加法、減法、乘法和除法。
let x: number = 10; let y: number = 5; let sum: number = x + y; let difference: number = x - y; let product: number = x * y; let quotient: number = x / y; console.log(sum); // 輸出:15 console.log(difference); // 輸出:5 console.log(product); // 輸出:50 console.log(quotient); // 輸出:2
3. 字符串類型(string)
接下來,讓我們來討論字符串類型。字符串類型用于表示文本數(shù)據(jù)。在 TypeScript 中,我們可以使用 string 關(guān)鍵字聲明字符串類型的變量。
let name: string = "張三"; let message: string = "歡迎來到我的個人網(wǎng)站!";
字符串類型支持字符串拼接、截取和長度獲取等操作。
let greeting: string = "Hello,"; let name: string = "Alice"; let message: string = greeting + " " + name; let substring: string = message.substring(7, 12); let length: number = message.length; console.log(message); // 輸出:Hello, Alice console.log(substring); // 輸出:Alice console.log(length); // 輸出:13
4. 數(shù)組類型(array)
數(shù)組類型用于表示一組相同類型的數(shù)據(jù)集合。在 TypeScript 中,我們可以使用 type[] 或者 Array<type> 來聲明數(shù)組類型的變量,其中 type 是數(shù)組中元素的類型。
let numbers: number [] = [1, 2, 3, 4, 5]; let fruits: Array<string> = ["apple", "banana", "orange"];
數(shù)組類型支持訪問元素、添加元素和獲取數(shù)組長度等操作。
let numbers: number[] = [1, 2, 3, 4, 5]; console.log(numbers[0]); // 輸出:1 numbers.push(6); console.log(numbers); // 輸出:[1, 2, 3, 4, 5, 6] let length: number = numbers.length; console.log(length); // 輸出:6
5. 元組類型(tuple)
元組類型用于表示一個已知元素?cái)?shù)量和類型的數(shù)組。在 TypeScript 中,我們可以使用 type[] 和元素類型的列表來聲明元組類型的變量。
let person: [string, number] = ["張三", 27];
元組類型可以訪問特定索引位置的元素,并且保留了元素的類型信息。
let person: [string, number] = ["張三", 27]; console.log(person[0]); // 輸出:"張三" console.log(person[1]); // 輸出:27
6. 枚舉類型(enum)
枚舉類型用于表示一組具名的常量。在 TypeScript 中,我們可以使用 enum 關(guān)鍵字聲明枚舉類型。
enum Color {
Red,
Green,
Blue,
}
let backgroundColor: Color = Color.Red;枚舉類型提供了一組有意義的命名常量,方便我們在代碼中使用。
enum Day {
Monday = 1,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
Sunday,
}
let today: Day = Day.Wednesday;
console.log(today); // 輸出:37. 任意類型(any)
任意類型可以用來表示任意類型的值。在 TypeScript 中,我們可以使用 any 關(guān)鍵字聲明任意類型的變量。
let value: any = "Hello, World!"; value = 42; value = true;
任意類型可以靈活地適應(yīng)不同類型的值,但同時也喪失了類型安全性。
let value: any = "Hello, World!"; value.substring(7); // 有效,返回:"World!" value = 42; value.substring(7); // 報(bào)錯!編譯時不會檢查類型
8. 空類型(void)
空類型用于表示沒有任何返回值的函數(shù)。在 TypeScript 中,我們可以使用 void 關(guān)鍵字聲明空類型。
function greet(): void {
console.log("Hello!");
}空類型主要用于定義不需要返回值的函數(shù)。
function sayHello(name: string): void {
console.log("Hello, " + name + "!");
}9. Null 和 Undefined 類型
Null 和 Undefined 類型分別表示空值和未定義的值。在 TypeScript 中,我們可以使用 null 和 undefined 關(guān)鍵字聲明對應(yīng)的變量。
let empty: null = null; let notDefined: undefined = undefined;
Null 和 Undefined 類型在某些情況下可以作為其他類型的子類型使用。
let name: string = null; let age: number = undefined;
10. Never 類型
Never 類型表示永遠(yuǎn)不會發(fā)生的類型。在 TypeScript 中,Never 類型通常用于描述拋出異?;驘o法執(zhí)行到終點(diǎn)的函數(shù)。
function throwError(message: string): never {
throw new Error(message);
}
function infiniteLoop(): never {
while (true) {
// 無限循環(huán)
}
}Never 類型是其他類型的子類型,但是沒有類型是 Never 類型的子類型。
let value: never = throwError("Something went wrong.");總結(jié)
以上就是 TypeScript 的一些常用的內(nèi)置數(shù)據(jù)類型。通過使用這些數(shù)據(jù)類型,我們可以更好地定義和操作數(shù)據(jù),提高代碼的可讀性和可維護(hù)性。
- 布爾類型(boolean):true 或 false
- 數(shù)字類型(number):整數(shù)和浮點(diǎn)數(shù)
- 字符串類型(string):文本數(shù)據(jù)
- 數(shù)組類型(array):一組相同類型的數(shù)據(jù)集合
- 元組類型(tuple):已知元素?cái)?shù)量和類型的數(shù)組
- 枚舉類型(enum):具名的常量集合
- 任意類型(any):任意類型的值
- 空類型(void):沒有返回值的函數(shù)
- Null 和 Undefined 類型:空值和未定義的值
- Never 類型:永遠(yuǎn)不會發(fā)生的類型
示例代碼僅用于說明概念,可能不符合最佳實(shí)踐。在實(shí)際開發(fā)中,請根據(jù)具體情況進(jìn)行調(diào)整。
到此這篇關(guān)于一文詳解TypeScript中的內(nèi)置數(shù)據(jù)類型的文章就介紹到這了,更多相關(guān)TypeScript內(nèi)置數(shù)據(jù)類型內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Three.js實(shí)現(xiàn)臉書元宇宙3D動態(tài)Logo效果
本文主要講述通過 Three.js + Blender 技術(shù)棧,實(shí)現(xiàn) Meta 公司炫酷的 3D 動態(tài) Logo,內(nèi)容包括基礎(chǔ)模型圓環(huán)、環(huán)面扭結(jié)、管道及模型生成、模型加載、添加動畫、添加點(diǎn)擊事件、更換材質(zhì)等2021-11-11
js實(shí)現(xiàn)的修改div里img標(biāo)簽的src屬性
js實(shí)現(xiàn)的修改div里img標(biāo)簽的src屬性...2007-09-09
bootstrap jquery dataTable 異步ajax刷新表格數(shù)據(jù)的實(shí)現(xiàn)方法
這篇文章主要介紹了bootstrap jquery dataTable 異步ajax刷新表格數(shù)據(jù)的實(shí)現(xiàn)方法,需要的朋友可以參考下2017-02-02
input輸入框限制只能輸入數(shù)字的方法實(shí)例(個人認(rèn)為最好的)
在很多業(yè)務(wù)中需要對輸入框進(jìn)行字符限制,比如金額輸入框、手機(jī)號碼輸入框等,下面這篇文章主要給大家介紹了關(guān)于input輸入框限制只能輸入數(shù)字的相關(guān)資料,文中介紹的方法個人認(rèn)為最好的,需要的朋友可以參考下2022-10-10
JavaScript常用的3種彈出框(提示框?alert/確認(rèn)框?confirm/輸入框?prompt)
三種彈框在系統(tǒng)中都是同步執(zhí)行的,也就是說,三種彈框中的任一彈框彈出,代碼都不在執(zhí)行,直到點(diǎn)擊確認(rèn)或取消,關(guān)閉彈窗后,代碼繼續(xù)執(zhí)行,本文通過實(shí)例代碼給大家分享JS常用的3種彈出框,感興趣的朋友一起看看吧2022-07-07
JavaScript實(shí)現(xiàn)多種彈窗效果實(shí)戰(zhàn)詳解(實(shí)現(xiàn)方法)
本文詳細(xì)講解如何使用JS結(jié)合HTML和CSS實(shí)現(xiàn)對聯(lián)彈窗、可移動彈窗和右下角消息彈窗,并涵蓋事件監(jiān)聽、元素定位、顯示控制等關(guān)鍵技術(shù),本文給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧2025-10-10
基于微信小程序?qū)崿F(xiàn)人臉數(shù)量檢測的開發(fā)步驟
最近項(xiàng)目需求是統(tǒng)計(jì)當(dāng)前攝像頭中的人臉個數(shù),所以下面這篇文章主要給大家介紹了關(guān)于基于微信小程序?qū)崿F(xiàn)人臉數(shù)量檢測的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2022-12-12
淺析Echarts圖表渲染導(dǎo)致內(nèi)存泄漏的原因及解決方案
在今年某個可視化大屏項(xiàng)目中,出現(xiàn)了一個問題,項(xiàng)目在運(yùn)行一段時間后,頁面出現(xiàn)了崩潰,而且是大概運(yùn)行幾天之后,因?yàn)榇笃另?xiàng)目是部署到客戶現(xiàn)場大屏,長時間運(yùn)行不關(guān)閉,小編認(rèn)為 Echarts 圖表渲染導(dǎo)致了內(nèi)存泄漏,本文將深入分析這一問題,并提供解決方案2023-10-10

