0

0

了解JavaScript中的数据类型转换

青灯夜游

青灯夜游

发布时间:2020-10-19 17:50:15

|

2224人浏览过

|

来源于DIGITALOCEAN

转载

了解JavaScript中的数据类型转换

在JavaScript中,数据类型用于对一种特定类型的数据进行分类,确定可以分配给该类型的值以及可以对其执行的操作。

虽然由于类型强制,JavaScript会自动转换许多值,但为了达到预期的结果,通常最好在类型之间手动转换值。

本教程将指导您转换JavaScript的基本数据类型,包括数字、字符串和布尔值。

隐式转换

立即学习Java免费学习笔记(深入)”;

作为一种编程语言,JavaScript对意外值的容忍度很高。因此,JavaScript将尝试转换意外值,而不是直接拒绝它们。这种隐式转换称为类型强制。

有些方法会自动转换值以便使用它们。alert()方法接受一个字符串作为参数,但它将自动将其他类型转换为字符串。因此,我们可以传递一个数值给方法:

alert(8.5);

如果我们运行上面的代码行,浏览器将返回一个弹出的警告对话框,其中显示8.5值,但是它将被转换为一个字符串。

当使用可以通过数学运算符计算为数字的字符串时,您将发现JavaScript能够通过隐式地将字符串转换为数字来处理这些值,如下面的示例所示。

// Subtraction
"15" - "10";

输出:5

// Modulo
"15" % "10";

输出:5

然而,并不是每个运算符都能像预期的那样工作。+运算符有明显的问题,因为它可以表示加法或字符串连接。

// When working with strings, + stands for concatenation
"2" + "3";

输出:"23"

由于+运算符是多用途的,因此尽管是数字字符串,但字符串值2和3连接为字符串值23,而不是加在一起成为数字5。

由于模糊性可能存在,有时会导致意外的结果,所以通常最好在代码中显式地转换尽可能多的数据类型。这将有助于管理来自用户的输入和处理错误。

将值转换为字符串

可以通过调用String()或N.ToString()将值显式转换为字符串。

使用String()函数,让我们通过将值true传递给String()的参数,将布尔值转换为字符串。

String(true);

当我们这样做时,字符串文字“true”将返回。

输出:"true"

或者,我们可以向函数传递一个数字。

String(49);

将返回该数字的字符串文字。

输出:"49"

让我们将String()函数与变量一起使用。 我们将为变量odyssey分配一个数字值,然后使用typeof运算符来检查类型。

let odyssey = 2001;
console.log(typeof odyssey);

输出:number

此时,变量odyssey被赋予2001的数值,我们已经确认它是一个数字。

现在,让我们将odyssey重新分配到它的字符串等效值,然后使用typeof来确认我们已经成功地将变量的值从一个数字转换为一个字符串。

BIWEB WMS门户网站PHP开源建站系统5.8.3
BIWEB WMS门户网站PHP开源建站系统5.8.3

BIWEB 门户版几经周折,最终与大家见面了。BIWEB门户版建立在ArthurXF5.8.3底层上,有了更加强大的功能。 BIWEB WMS v5.8.3 (2010.1.29) 更新功能如下: 1.修正了底层getInfo方法中的调用参数,做到可以根据字段进行调用。 2.修正了栏目安装和卸载后,跳转链接的错误。 3.修正所有栏目分类系统,提交信息页面错误。 4.新增后台删除信息后仍停留原分

下载
odyssey = String(odyssey); // "2001"
console.log(typeof odyssey);

输出:string

在上面的例子中,我们已经确认,在数据类型转换之后,将odyssey重新赋值为一个字符串值。

我们可以以类似的方式使用n.toString()。我们可以用变量替换n:

let blows = 400;
blows.toString();

变量blow将作为字符串返回。

输出:"400"

或者,我们可以把值放在圆括号内,而不是用n.toString()变量:

(1776).toString(); // returns "1776"
(false).toString(); // returns "false"
(100 + 200).toString(); // returns "300"

通过使用String()或n.toString(),我们能够显式地将布尔值或数字数据类型的值转换为String值,以确保代码的行为符合我们的预期。

将值转换为数字

在将值转换为数字数据类型时,我们将使用number()方法。首先,我们将把数字文本字符串转换为数字,但我们也可以转换布尔值。

我们可以将一个数字串传递给number()方法:

Number("1984");

字符串将被转换为一个数字,不再用引号括起来。

输出:1984

我们还可以将一个字符串赋值给一个变量,然后对其进行转换。

let dalmatians = "101";
Number(dalmatians);

输出:101

字符串文字“101”通过其变量被转换为数字101。

空白字符串或空字符串将转换为0。

Number(" "); // returns 0
Number(""); // returns 0

注意,非数字字符串将转换为NaN, NaN表示非数字。这包括用空格分隔的数字。

Number("twelve"); // returns NaN
Number("20,000"); // returns NaN
Number("2 3"); // returns NaN
Number("11-11-11"); // returns NaN

对于布尔数据类型,false的值为0,true的值为1。

Number(false); // returns 0
Number(true); // returns 1

方法的作用是:将非数字数据类型转换为数字。

将值转换为布尔值

要将数字或字符串转换为布尔值,可以使用Boolean()方法。例如,这对于确定用户是否将数据输入文本字段非常有用。

任何被解释为空的值,如数字0、空字符串或未定义的值、NaN或null,都被转换为false。

Boolean(0); // returns false
Boolean(""); // returns false
Boolean(undefined); // returns false
Boolean(NaN); // returns false
Boolean(null); // returns false

其他值将被转换为true,包括由空格组成的字符串文字。

Boolean(2000); // returns true
Boolean(" "); // returns true
Boolean("Maniacs"); // returns true

注意,“0”作为字符串文字将转换为真,因为它是一个非空字符串值:

Boolean("0");   // returns true

将数字和字符串转换为布尔值可以允许我们在二进制术语中计算数据,并且可以用于程序中的控制流。

相关免费学习推荐:js视频教程

相关文章

java速学教程(入门到精通)
java速学教程(入门到精通)

java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
2026赚钱平台入口大全
2026赚钱平台入口大全

2026年最新赚钱平台入口汇总,涵盖任务众包、内容创作、电商运营、技能变现等多类正规渠道,助你轻松开启副业增收之路。阅读专题下面的文章了解更多详细内容。

54

2026.01.31

高干文在线阅读网站大全
高干文在线阅读网站大全

汇集热门1v1高干文免费阅读资源,涵盖都市言情、京味大院、军旅高干等经典题材,情节紧凑、人物鲜明。阅读专题下面的文章了解更多详细内容。

40

2026.01.31

无需付费的漫画app大全
无需付费的漫画app大全

想找真正免费又无套路的漫画App?本合集精选多款永久免费、资源丰富、无广告干扰的优质漫画应用,涵盖国漫、日漫、韩漫及经典老番,满足各类阅读需求。阅读专题下面的文章了解更多详细内容。

50

2026.01.31

漫画免费在线观看地址大全
漫画免费在线观看地址大全

想找免费又资源丰富的漫画网站?本合集精选2025-2026年热门平台,涵盖国漫、日漫、韩漫等多类型作品,支持高清流畅阅读与离线缓存。阅读专题下面的文章了解更多详细内容。

12

2026.01.31

漫画防走失登陆入口大全
漫画防走失登陆入口大全

2026最新漫画防走失登录入口合集,汇总多个稳定可用网址,助你畅享高清无广告漫画阅读体验。阅读专题下面的文章了解更多详细内容。

13

2026.01.31

php多线程怎么实现
php多线程怎么实现

PHP本身不支持原生多线程,但可通过扩展如pthreads、Swoole或结合多进程、协程等方式实现并发处理。阅读专题下面的文章了解更多详细内容。

1

2026.01.31

php如何运行环境
php如何运行环境

本合集详细介绍PHP运行环境的搭建与配置方法,涵盖Windows、Linux及Mac系统下的安装步骤、常见问题及解决方案。阅读专题下面的文章了解更多详细内容。

0

2026.01.31

php环境变量如何设置
php环境变量如何设置

本合集详细讲解PHP环境变量的设置方法,涵盖Windows、Linux及常见服务器环境配置技巧,助你快速掌握环境变量的正确配置。阅读专题下面的文章了解更多详细内容。

0

2026.01.31

php图片如何上传
php图片如何上传

本合集涵盖PHP图片上传的核心方法、安全处理及常见问题解决方案,适合初学者与进阶开发者。阅读专题下面的文章了解更多详细内容。

2

2026.01.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
React 教程
React 教程

共58课时 | 4.4万人学习

TypeScript 教程
TypeScript 教程

共19课时 | 2.6万人学习

Bootstrap 5教程
Bootstrap 5教程

共46课时 | 3.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号