16 JavaScript学习: 类型转换

JavaScript 类型转换

Number() 转换为数字, String() 转换为字符串, Boolean() 转换为布尔值。

JavaScript 数据类型

在 JavaScript 中有 6 种不同的数据类型:

  • string
  • number
  • boolean
  • object
  • function
  • symbol

3 种对象类型:

  • Object
  • Date
  • Array

2 个不包含任何值的数据类型:

  • null
  • undefined

typeof 操作符

typeof 操作符是 JavaScript 中的一种操作符,用于确定给定变量的数据类型。它返回一个表示该变量数据类型的字符串。这个操作符的语法是 typeof operand,其中 operand 是要检查类型的操作数。

举个例子:

typeof 42; // 返回 "number"
typeof "hello"; // 返回 "string"
typeof true; // 返回 "boolean"
typeof { key: "value" }; // 返回 "object"
typeof [1, 2, 3]; // 返回 "object"(数组也是对象)
typeof undefined; // 返回 "undefined"
typeof null; // 返回 "object"(这是 JavaScript 的一个历史遗留问题)
typeof function() {}; // 返回 "function"

需要注意的是,typeof null 返回 “object” 是 JavaScript 中的一个历史遗留问题,并非一个准确的类型判断。

将数字转换为字符串

将数字转换为字符串可以使用 toString() 方法或者字符串模板。下面是示例代码:

使用 toString() 方法:

let number = 123;
let str = number.toString();
console.log(str); // 输出 "123"

使用字符串模板:

let number = 456;
let str = `${number}`;
console.log(str); // 输出 "456"

这两种方法都可以将数字转换为字符串。

将布尔值转换为字符串

将布尔值转换为字符串可以使用 toString() 方法或者字符串模板。下面是示例代码:

使用 toString() 方法:

let bool = true;
let str = bool.toString();
console.log(str); // 输出 "true"

使用字符串模板:

let bool = false;
let str = `${bool}`;
console.log(str); // 输出 "false"

这两种方法都可以将布尔值转换为字符串。

将日期转换为字符串

let date = new Date();
let str = date.toString();
console.log(str); // 输出当前日期和时间的字符串表示形式

将字符串转换为数字

在JavaScript中,可以使用parseInt()或者parseFloat()函数将字符串转换为数字。

  1. 使用parseInt()函数将字符串转换为整数:
let str = "42";
let num = parseInt(str);
console.log(num); // 输出 42
  1. 使用parseFloat()函数将字符串转换为浮点数:
let str = "3.14";
let num = parseFloat(str);
console.log(num); // 输出 3.14

另外,使用Number()函数也可以将字符串转换为数字:

let str = "123";
let num = Number(str);
console.log(num); // 输出 123

需要注意的是,如果字符串无法完全转换为有效的数字,则结果将会是NaN(Not a Number)。

一元运算符 +

一元运算符 + 用于将操作数转换为数字。如果操作数是一个字符串,一元运算符 + 将尝试将该字符串转换为数字。如果操作数是一个数字,那么一元运算符 + 不会对数字做任何改变,仍然是原来的数字。下面是一些示例:

let str = "42";
let numFromStr = +str;
console.log(numFromStr); // 输出 42,字符串 "42" 被转换成了数字 42

let num = 123;
let numFromNum = +num;
console.log(numFromNum); // 输出 123,数字 123 保持不变

请注意,一元运算符 + 可能会导致类型转换,因此在使用时要谨慎考虑。

将布尔值转换为数字

将日期转换为字符串,你可以使用 JavaScript 中的 Date 对象的 toString() 方法。这会返回当前日期和时间的字符串表示形式,包括星期几、月份、日期、时间和时区。以下是示例代码:

let date = new Date();
let str = date.toString();
console.log(str); // 输出当前日期和时间的字符串表示形式

要将字符串转换为数字,你可以使用 parseInt()parseFloat() 或者 Number() 函数。这些函数可以将字符串转换为对应的数字类型,其中 parseInt() 将字符串转换为整数,parseFloat() 将字符串转换为浮点数,而 Number() 则会根据字符串内容自动转换为整数或浮点数。以下是示例代码:

使用 parseInt() 函数将字符串转换为整数:

let str = "42";
let num = parseInt(str);
console.log(num); // 输出 42

使用 parseFloat() 函数将字符串转换为浮点数:

let str = "3.14";
let num = parseFloat(str);
console.log(num); // 输出 3.14

使用 Number() 函数将字符串转换为数字:

let str = "123";
let num = Number(str);
console.log(num); // 输出 123

要注意的是,如果字符串无法完全转换为有效的数字,则结果将会是 NaN(Not a Number)。

在 JavaScript 中,一元运算符 + 也可以用于将字符串转换为数字。它会尝试将操作数转换为数字类型,如果操作数是一个字符串,则会尝试将其转换为数字。以下是示例代码:

let str = "42";
let numFromStr = +str;
console.log(numFromStr); // 输出 42,字符串 "42" 被转换成了数字 42

let num = 123;
let numFromNum = +num;
console.log(numFromNum); // 输出 123,数字 123 保持不变

最后,要将布尔值转换为数字,可以使用一元加号运算符 +。在 JavaScript 中,true 会被转换为 1,而 false 会被转换为 0。以下是示例代码:

let bool = true;
let numFromBool = +bool;
console.log(numFromBool); // 输出 1

bool = false;
numFromBool = +bool;
console.log(numFromBool); // 输出 0

通过使用一元加号运算符,可以简单快速地将布尔值转换为对应的数字。

将日期转换为数字

在JavaScript中,你可以使用内置的Date对象来获取当前日期时间,并将其转换为包含年月日、时分秒的字符串。以下是一个示例代码:

let now = new Date();
let year = now.getFullYear();
let month = String(now.getMonth() + 1).padStart(2, '0');
let day = String(now.getDate()).padStart(2, '0');
let hour = String(now.getHours()).padStart(2, '0');
let minute = String(now.getMinutes()).padStart(2, '0');
let second = String(now.getSeconds()).padStart(2, '0');

let dateString = `${year}-${month}-${day} ${hour}:${minute}:${second}`;
console.log(dateString);

这段代码会获取当前日期时间并将其格式化为 “年-月-日 时:分:秒” 的字符串。JavaScript中的月份是从0开始计数的,所以需要注意将月份加1。

在这里插入图片描述
在这里插入图片描述

关注我,不迷路,共学习,同进步

关注我,不迷路,共学习,同进步

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/575921.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Springboot多数据源及事务实现方案

Springboot多数据源及事务实现方案 文章目录 Springboot多数据源及事务实现方案背景问题分析实现原理1. 数据源抽象与动态路由2. 线程本地存储(ThreadLocal)3. 面向切面编程(AOP)4. 自定义注解 实现流程1. 设置数据源标识2. 开始数…

Godot3D学习笔记1——界面布局简介

创建完成项目之后可以看到如下界面: Godot引擎也是场景式编程,这里的一个场景相当于一个关卡。 这里我们点击左侧“3D场景”按钮创建一个3D场景,现在在中间的画面中会出现一个球。在左侧节点视图中选中“Node3D”,右键创建子节点…

医院手术室麻醉信息管理系统源码 自动生成麻醉的各种医疗文书(手术风险评估表、手术安全核查表)

目录 手术风险评估表 一、患者基本信息 二、既往病史 三、手术相关信息 四、风险评估因素 五、风险评估结果 手术安全核查表 一、患者身份与手术信息核对 二、术前准备核查 三、手术团队与职责确认 四、手术物品与设备核查 五、术中关键步骤核查 六、术后核查 七…

STM32中断实现旋转编码器计数

系列文章目录 STM32单片机系列专栏 C语言理论和实践总结专栏 文章目录 1. 旋转编码器 2. 中断代码编写 2.1 Interrupt.c 2.2 Interrupt.h 2.3 完整工程文件 1. 旋转编码器 旋转编码器主要用于测量轴的旋转位置、速度或者是角度的变化,它能够将转动的角度或者…

新兴游戏引擎Godot vs. 主流游戏引擎Unity和虚幻引擎,以及版本控制工具Perforce Helix Core如何与其高效集成

游戏行业出现一个新生事物——Godot,一个免费且开源的2D和3D游戏引擎。曾经由Unity和虚幻引擎(Unreal Engine)等巨头主导的领域如今迎来了竞争对手。随着最近“独特”定价模式的变化,越来越多的独立开发者和小型开发团队倾向于选择…

【数据结构】反转链表

给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 Definition for singly-linked list.struct ListNode {int val;struct ListNode *next;};typedef struct ListNode ListNode; struct ListNode* reverseList(struct ListNode* head) {i…

JavaEE初阶——文件操作和IO

T04BF 👋专栏: 算法|JAVA|MySQL|C语言 🫵 小比特 大梦想 此篇文章与大家分享文件操作及IO的内容 如果有不足的或者错误的请您指出! 目录 *1.解释IO**2.关于文件的基本知识*2.1路径2.1.1绝对路径2.1.2相对路径 2.2文件分类 *3.通过Java代码操作文件*3.1针…

Arcpy入门笔记(三):数据属性的读取

Arcpy入门笔记(三):数据属性的获取 文章目录 Arcpy入门笔记(三):数据属性的获取常用的属性Describe对象属性(部分)数据集属性(部分)表属性(部分&a…

python 脚本头(PyCharm+python头部信息、py头部信息、python头信息、py头信息、py文件头部)

文章目录 参考PyCharm设置脚本头头部信息 参考 https://developer.aliyun.com/article/1166544 https://blog.csdn.net/Dontla/article/details/131743495 https://blog.csdn.net/dongyouyuan/article/details/54408413 PyCharm设置脚本头 打开pycharm,点击file–…

5G赋能 扬帆未来|AGV无人仓成黑科技“顶流”

AGV 近年来,无人化这个概念逐渐被运用到了社会中的各个行业,而跟物流有关的就有无人分拣机器人、无人驾驶卡车、和无人叉车,越来越多的新装备也开始投入到实际运用中。 仓储管理在物流管理中占据着核心地位。传统的仓储管理中存在诸多的弊端…

怎样选购内衣洗衣机?2024年5款最新推荐机型种草

随着科技的不断发展,内衣洗衣机成为了家家户户必备的小家电之一,为我们的生活带来了极大的便利。但面对市场上众多的内衣洗衣机品牌,如何选择一款质量好的内衣洗衣机呢?本文将为您推荐5款最新的内衣洗衣机品牌,从而帮助…

一文解析golang中的协程与GMP模型

文章目录 前言1、线程实现模型1.1、用户级线程与内核级线程1.2、内核级线程模型1.3、用户级线程模型1.3、两级线程模型 2、GMP模型2.1、GMP模型概述2.1、GMP v1版本 - GM模型2.2、GMP v2版本 - GMP模型2.3、GMP相关源码2.4 调度流程2.5 设计思想 3.总结 前言 并发(并行&#x…

Babylon.js 程序化建模简明教程

Babylon.js 中的每个形状都是由三角形或小面的网格构建而成,如题图所示。 NSDT工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器 - REVIT导出3D模型插件 - 3D模型语义搜索引擎 - Th…

(二十九)加油站:面向对象重难点深入讲解【重点是元类】

目录: 每篇前言:0. Python中的元类:1. 本文引子:2. Python中的mro机制:3. Python中类的魔法属性dict:注意事项: 拓展——内建函数dir() 4. 正式谈一谈元类(metaclass):&a…

IIR滤波器的设计与实现(内含设计IIR滤波器的高效方法)

写在前面:初学者学习这部分内容,要直接上手写代码可能会感到比较困难,我这里推荐一种高效快速的设计IIR,FIR滤波器的方法——MATLAB工具箱:filterDesigner。打开的方法很简单,就是在命令行键入:filterDesig…

virtio-wayland

CrosVM是Chrome操作系统中,用于创建虚拟机的应用。是一个Rust编写的轻量级的虚拟机。借助于CrosVM 用户可以很容易的在ChromeOS中运行Linux、Android以及Windows应用程序 概述 目前crosvm实现了virtio wayland协议,实现了对linux虚拟机wayland协议支持 …

动态规划——斐波那契数列模型:面试题08.01.三步问题

文章目录 题目描述算法原理1.状态表示2.状态转移方程3.初始化4.填表顺序5.返回值 代码实现CJava 题目描述 题目链接:面试题08.01.三步问题 如果n是0走法可能是1也可能是0,所以本题范围并不需要考虑直接从1开始即可 因为以3为结尾有直接从0到3的方式&a…

Kafka 3.x.x 入门到精通(04)——对标尚硅谷Kafka教程

Kafka 3.x.x 入门到精通(04)——对标尚硅谷Kafka教程 2. Kafka基础2.1 集群部署2.2 集群启动2.3 创建主题2.4 生产消息2.5 存储消息2.5.1 存储组件2.5.2 数据存储2.5.2.1 ACKS校验2.5.2.2 内部主题校验2.5.2.3 ACKS应答及副本数量关系校验2.5.2.4 日志文…

从哪些角度优化数据资产管理?详解如何将数据转化为企业持续竞争力

在上一篇文章中我们介绍了数据资产管理的诸多保障措施,上篇文章指路👉如何保障数据资产管理有效开展?做好这几点就够了! 本文重点将转向数据资产管理的实践。在当今这个数据驱动的时代,数据已成为企业最宝贵的资产之一…

使用Excel生成sql脚本(insert/update/delete)

目录 前言 一、Excel文件脚本变量 二、操作示例 前言 在系统使用初期,存在某种原因,需要对数据库数据进行批量处理操作。往往都是通过制定Excel表格,通过Excel导入到数据库中,所以就弄一个excel生成sql的导入脚本,希…