深入理解TypeScript中的數據類型

一、TS數據類型有哪些

TypeScript是JavaScript的超集,它自身集成了JavaScript的數據類型,同時還增加了更多的數據類型。下面是TypeScript中的一些常用數據類型:

/**
 * TypeScript中的數據類型
 */
const str: string = 'hello';
const num: number = 1;
const bool: boolean = true;
const arr: Array<string> = ['TypeScript', 'React', 'Vue'];
const tuple: [string, number] = ['TypeScript', 1];
const enu: enum = { TypeScript: 1, React: 2, Vue: 3 }
const anyValue: any = 'any';
const voidFun = (): void => { console.log('void function') };
const undefinedVal: undefined = undefined;
const nullVal: null = null;
const symbolVal: symbol = Symbol('symbol')

二、TS數據類型通用的

TypeScript中的數據類型與JavaScript有相通的地方。

1. JavaScript中的變量在沒有賦值時是undefined,TypeScript中也相同。

/**
 * 變量未賦值
 */
let undefVar;
console.log(undefVar) // undefined

2. JavaScript中判斷數據類型使用typeof,TypeScript中也相同。

/**
 * 判斷數據類型
 */
const str: string = 'hello';
console.log(typeof str === 'string'); // true

3. JavaScript中空數組長度為0,TypeScript中也相同。

/**
 * 空數組長度為0
 */
const arr: Array<string> = [];
console.log(arr.length === 0); // true

三、TS數據類型unknown

TypeScript在3.0版本中增加了unknown類型。它與any類型類似, 但是只能賦值給any和unknown。

/**
 * 未知類型
 */
let unknownVal: unknown = 'unknown';
unknownVal = true;
unknownVal = 1;
unknownVal = ['TypeScript', 'React', 'Vue'];
unknownVal = {};
unknownVal = null;

/**
 * 只能賦值給any和unknown
 */
let anyVal: any = unknownVal;
let unknownVal2: unknown = unknownVal;

四、TS數據類型轉換

TypeScript中數據類型轉換與JavaScript中有所不同。

1. 使用as關鍵字進行類型轉換。

/**
 * 數據類型轉換
 */
let num1: number = 1;
let str1: string = num1 as unknown as string;
console.log(str1); // '1'

2. 使用或as進行類型轉換。

/**
 * 數據類型轉換
 */
let num2: number = 2;
let str2: string = <string> <unknown> num2;
console.log(str2); // '2'

五、TS數據類型never

TypeScript中的never類型表示永遠不會有返回值。

/**
 * 永遠不會有返回值
 */
const neverFun = (): never => {
  while (true) {
    console.log('never');
  }
}

六、TS數據類型有沒有對象

在TypeScript中,對象是非常常見的數據類型。

/**
 * 對象
 */
const obj: object = { name: 'TypeScript', age: 3 };
const obj1: {} = { name: 'TypeScript', age: 3 };
const obj2: Record<string, unknown> = { name: 'TypeScript', age: 3 };

七、JS數據類型

TypeScript中的數據類型與JavaScript數據類型有相通之處。

1. 在JavaScript中,字符串是基本數據類型。在TypeScript中,它是一種數據類型。

/**
 * 字符串
 */
const str3: string = 'TypeScript';
console.log(str3); // 'TypeScript'

2. 在JavaScript中,數字是基本數據類型。在TypeScript中,它是一種數據類型。

/**
 * 數字
 */
const num3: number = 3;
console.log(num3); // 3

3. 在JavaScript中,布爾值是基本數據類型。在TypeScript中,它是一種數據類型。

/**
 * 布爾值
 */
const bool3: boolean = true;
console.log(bool3); // true

八、TS基本數據類型

以下是TypeScript中的基本數據類型:

1. string:表示字符串類型。

/**
 * 字符串類型
 */
const str4: string = 'TypeScript';
console.log(str4); // 'TypeScript'

2. number:表示數字類型。

/**
 * 數字類型
 */
const num4: number = 4;
console.log(num4); // 4

3. boolean:表示布爾類型。

/**
 * 布爾類型
 */
const bool4: boolean = true;
console.log(bool4); // true

九、TS類型推斷

TypeScript中的類型推斷是通過變量的賦值推斷出變量的類型。如果變量沒有賦值,則變量為unknown類型。

/**
 * 類型推斷
 */
let typeInference1 = 'TypeScript';
console.log(typeof typeInference1); // 'string'
let typeInference2;
typeInference2 = 'TypeScript';
console.log(typeof typeInference2); // 'string'

十、TS的類型選取

在TypeScript中,我們可以使用類型選取,只選取對象中需要的屬性。

/**
 * 類型選取
 */
interface ObjectTest1 {
  name: string;
  age: number;
  location: string;
}
interface ObjectTest2 {
  name: string;
  age: number;
}

const objTest1: ObjectTest1 = { name: 'TypeScript', age: 3, location: 'China' };
const objTest2: ObjectTest2 = objTest1; // { name: 'TypeScript', age: 3 }

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/312746.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2025-01-06 15:17
下一篇 2025-01-06 15:17

相關推薦

  • Python返回數組:一次性搞定多種數據類型

    Python是一種多用途的高級編程語言,具有高效性和易讀性的特點,因此被廣泛應用於數據科學、機器學習、Web開發、遊戲開發等各個領域。其中,Python返回數組也是一項非常強大的功…

    編程 2025-04-29
  • Python 轉換數據類型

    本文將詳細探討Python中轉換數據類型的方法和技巧,幫助大家更好地處理不同類型的數據。 一、數據類型概述 在Python中,常用的數據類型包括字符串、整數、浮點數、列表、元組、字…

    編程 2025-04-29
  • Python數據類型分為哪幾種

    Python作為一門非常靈活的編程語言,有着非常豐富的數據類型。Python的數據類型可以分為數字類型、字符串類型、列表類型、元組類型、字典類型和集合類型六種。 一、數字類型 Py…

    編程 2025-04-29
  • Python數據類型操作題

    本文將從多個方面對Python數據類型操作題進行詳細闡述,並給出相應的代碼示例。 一、列表 列表是Python中的常見數據類型之一,可以存儲各種類型的對象。下面是一些常見的列表操作…

    編程 2025-04-27
  • Python3支持的數據類型有哪些

    本文將從多個方面對Python3支持的數據類型進行詳細闡述。 一、數字型數據類型 Python3中的數字型數據類型包括整數型(int)、浮點型(float)和複數型(complex…

    編程 2025-04-27
  • Python數值數據類型包括

    Python是當今世界上最受歡迎的編程語言之一。它是一種高級動態解釋型語言,包含許多內置的數據結構和函數。Python支持多種數據類型,包括數值數據類型,這些數據類型對於科學計算和…

    編程 2025-04-27
  • Python組合數據類型的應用

    Python組合數據類型是指Python中的列表、元組、字典、集合等數據類型。這些數據類型是Python編程中最為常用的基礎數據類型,也是不可或缺的工具。本文將從多個方面詳細闡述P…

    編程 2025-04-27
  • 如何在Python中強制轉換數據類型為矩陣

    Python作為一門高級編程語言,在數學計算方面有着十分優秀的表現。在進行數據分析和科學計算時,操作矩陣是常見的需求。但是,Python中並沒有專門的矩陣數據類型,因此需要使用其他…

    編程 2025-04-27
  • 深入解析Vue3 defineExpose

    Vue 3在開發過程中引入了新的API `defineExpose`。在以前的版本中,我們經常使用 `$attrs` 和` $listeners` 實現父組件與子組件之間的通信,但…

    編程 2025-04-25
  • 深入理解byte轉int

    一、字節與比特 在討論byte轉int之前,我們需要了解字節和比特的概念。字節是計算機存儲單位的一種,通常表示8個比特(bit),即1字節=8比特。比特是計算機中最小的數據單位,是…

    編程 2025-04-25

發表回復

登錄後才能評論