JavaScript 中的类型转换2025 年 3 月 3 日 | 阅读 8 分钟 在 JavaScript 中,类型转换是将一种数据类型的值转换为另一种数据类型值的过程。 例如,将数字数据类型转换为字符串。 什么是数据类型?它是变量可以保存的数据类型。JavaScript 中有八种主要的数据类型,如下所示: 数字它可以是任何数字的数据类型。 语法 String它可以保存任何类型文本的数据类型。文本应写在引号内,可以是单引号或双引号。 语法 Boolean它只有两个值的布尔数据类型,即 true 或 false。它用于创建只有是或否两种可能性的功能。 语法 Null它本身就是一个值。它用于我们希望返回无值的地方。 语法 Bigint它是用于保存大数的数字数据类型。 语法 未定义它本身就是一个值,就像 null 一样。它不能被更改,当一个变量被声明但未赋值时出现。 语法 符号它是一种基本数据类型,表示一个唯一的标识符。它用作对象属性的键。 语法 Object它是一种非基本或引用数据类型,它定义了对象的不同属性,如形状、颜色等。 语法 现在,让我们来理解类型转换。 类型转换有两种,如下所示:
让我们逐一了解。 隐式类型转换当存在类型转换的内部需求时,它由编译器或解释器自动完成。 让我们通过示例来理解它。 当字符串与其他数据类型相加时发生隐式类型转换如果我们向字符串添加任何数据类型,它将自动转换为字符串,这意味着如果我们向字符串添加任何数字,它将被转换为字符串。如果我们向字符串添加布尔值,它也将被转换为字符串。 代码 输出 Hellothere Hello10 Hellofalse Hellonull Helloundefined 数字字符串到数字的隐式类型转换当我们把一个数字值放在字符串中,并执行乘法、减法或除法等数学运算与另一个数字值时,数字字符串将被转换为数字。 注意:这不适用于加法(加号)。当一个值是数字字符串而另一个值是数字时,它将被转换为数字数据类型。 代码 输出 25 0 1 当一个值是数字字符串而另一个值也是数字字符串时,它也将被转换为数字数据类型。 代码 输出 100 -5 0.5 布尔值到数字的隐式类型转换当一个值是数字而另一个值是布尔值时。 代码 输出 3 2 当一个值是数字字符串而另一个值是布尔值时,它们的组合将变成字符串。 代码 输出 2true 2false 对布尔值进行算术运算时。 数字值 - 布尔值 代码 输出 9 10 数字字符串 - 布尔值 输出 9 10 数字 / 布尔值 输出 10 Infinity 数字字符串 / 布尔值 输出 10 Infinity 数字 * 布尔值 输出 10 0 输出 10 0 null 到数字的隐式类型转换对数字与 null 值进行算术运算。当 null 与数字一起使用时,null 就充当 0。 代码 输出 2 2 0 Infinity undefined 的隐式类型转换数字与 undefined 对数字与 undefined 值进行算术运算。 代码 输出 NaN NaN NaN NaN null 与 undefined 对 undefined 值与 null 进行算术运算。 代码 输出 NaN NaN NaN NaN 布尔值与 undefined 对 undefined 值与布尔值进行算术运算。 代码 输出 NaN NaN NaN NaN 显式类型转换当存在类型转换的外部需求时,它需要手动完成。显式类型转换可以通过使用内置方法来完成。 显式转换为数字我们可以使用 Number() 方法将任何内容转换为数字。 数字字符串转换为数字 代码 输出 6 字符串转换为数字 输出 NaN 布尔值转换为数字 输出 1 0 Null 转换为数字 输出 0 Undefined 转换为数字 输出 NaN 空字符串转换为数字 输出 0 显式转换为字符串我们可以利用 String() 或 toString() 方法将任何内容转换为字符串。 Null 转换为字符串 输出 null TypeError 数字转换为字符串 输出 5 5 Undefined 转换为字符串 输出 undefined TypeError NaN 转换为字符串 输出 NaN NaN 布尔值转换为字符串 输出 true false false true 显式转换为布尔值我们可以利用 Boolean() 方法将任何类型转换为布尔值。 显式转换为 false 输出 false false false false false 显式转换为 true 输出 true true true 显式将数组转换为对象我们可以借助各种方法将数组转换为对象。 使用展开运算符 我们可以使用展开运算符并将其数组转换为对象。 代码 输出 { '0': 'HTML', '1': 'JS', '2': 'CSS', '3': 'Java', '4': 'Python', '5': 'SQL' } 使用 for 循环 我们可以使用 for 循环将数组转换为对象。 代码 输出 { '0': 'HTML', '1': 'JS', '2': 'CSS', '3': 'Java', '4': 'Python', '5': 'SQL' } 使用 forEach 循环 我们可以使用 forEach 循环将数组转换为对象。 代码 输出 { '0': 'Book1', '1': 'Book2', '2': 'Book3', '3': 'Book3', '4': 'Book4', '5': 'Book5' } 使用 Object.assign() 我们可以使用 Object.assign() 方法将数组转换为对象。 代码 输出 { '0': 'Book1', '1': 'Book2', '2': 'Book3', '3': 'Book4', '4': 'Book5', '5': 'Book6' } 使用 Object.fromEntries() 我们可以使用 Object.fromEntries() 方法将数组转换为对象。 代码 输出 { '0': 'cartoon1', '1': 'cartoon2', '3': 'cartoon3', '4': 'cartoon4' } 显式将对象转换为数组我们可以借助内置方法将对象转换为数组。 使用 Object.entries() 我们可以使用 Object.assign() 方法将数组转换为对象。 代码 输出 [ [ '0', 'BMW' ], [ '1', 'Audi' ], [ '2', 'Ford' ], [ '3', 'Honda' ] ] 使用 Object.values() 我们可以使用 Object.values() 方法将数组转换为对象。 代码 输出 [ 'BMW', 'Audi', 'Ford', 'Honda' ] 结论我们在本文中了解了 JavaScript 中的类型转换。以下是需要记住的要点:
|
在 JavaScript 中,处理程序执行期间出现的错误或异常称为异常处理。通过使用 JavaScript 的异常优雅处理工具,程序员可以以可控的方式响应故障,并避免程序崩溃。JavaScript 中异常处理的主要机制是...
阅读 4 分钟
在 JavaScript 中,数组是一种特殊的对象形式,可以在单个变量中存储多个值。与其他许多编程语言不同,JavaScript 数组可以存储多种数据类型的元素,包括文本、数字、对象,甚至其他数组。因为 JavaScript 数组……
阅读 4 分钟
简介 JavaScript 是一种面向对象的编程语言,通常用于互联网增强。JavaScript 的一个有趣操作是操作数据结构,包括链表。在本教程中,我们将探索如何在替代的、非典型的,甚至颠倒的顺序中设置一个未连接的链表...
11 分钟阅读
一个优秀的 JavaScript 框架是一组 JavaScript 代码库,它为 Web 开发人员提供了用于常见编程任务的现成代码。它是一个特定的应用程序框架,允许您在特定上下文中开发 Web 应用程序。JavaScript 框架在开发中起着重要作用……
阅读 4 分钟
简介:在 JavaScript 中合并数组是数据处理中的一项基本思想,它允许开发人员将来自多个来源的杂乱数据转化为标准、连贯的单元。合并数组是一项常规且重要的操作,用于(数据聚合、简化代码等)并且服务于...
5 分钟阅读
JavaScript 正则表达式修饰符使用元字符和其他正则表达式来控制和操作输入数据。修饰符与元字符和量词一起用于获取特定字段。search()、match()、test()、exec() 方法可在 JavaScript 中与正则表达式修饰符配合使用。这三个修饰符...
7 分钟阅读
在本文中,我们将了解如何使用 JavaScript 从字符串中获取数字。我们只能获取给定字符串中存在的数字。我们可以通过多种方法从字符串中获取数字,如下所示:JavaScript match...
阅读 4 分钟
在软件开发中,代码格式化是指源代码的视觉呈现和组织。它包括布局、间距、换行、命名规则以及大括号和分号等语法元素的统一使用。尽管与功能相比,它可能看起来不那么重要,但代码……
7 分钟阅读
JavaScript 提供了各种运算符来评估程序中的数学和逻辑运算符及表达式。增量和减量运算符是 JavaScript 中的两种一元运算符,它们将操作数的值加 1 或减 1。本文的目的是...
阅读 3 分钟
什么是 JavaScript?JavaScript 是 Web 开发的主要组成部分之一,有时简称为 JS。为网站添加交互性是这种强大的脚本语言的主要目的。JavaScript 允许动态功能和行为,与专注于...
阅读 12 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India