深入理解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/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

发表回复

登录后才能评论