js-显示转换(强制转换)与隐式转换,==与===区别

news/2024/12/5 17:59:03/
1.显示转换(强制转换)与隐式转换
        1.1显示转换

        常见的JavaScript强制转换示例。

 (1) 一元加号+、一元减号-

  值是布尔值,true将被转换为1false将被转换为0

javascript">let a = "123";
let b = +a; // b的值为123,类型为Number
let b = -a; // b的值为-123,类型为Number

 (2)Number()函数

        值是布尔值,true将被转换为1false将被转换为0;如果值是null,将被转换为0;如果值是undefined,将被转换为NaN

javascript">let a = "123";
let b = Number(a); // b的值为123,类型为Number

 (3)parseInt()parseFloat()函数:

         parseInt()函数用于将字符串转换为整数,parseFloat()函数用于将字符串转换为浮点数。这两个函数都可以接受一个可选的基数参数,用于指定要解析的数字的基数(例如,二进制、八进制、十进制或十六进制)。

javascript">let a = "123.45";
let b = parseInt(a); // b的值为123,类型为Number
let c = parseFloat(a); // c的值为123.45,类型为Number
1.2隐式转换

 隐式转换(也称为自动类型转换),编译器会自动选择一个适合的类型来保证运算的正确性

javascript">let a = "5" + 5; // 结果为"55",字符串"5"被转换为数字5let a = true + 5; // 结果为6,布尔值true被转换为数字1
let b = false + 5; // 结果为5,布尔值false被转换为数字0let a = "5" + true; // 结果为"5true",布尔值true被转换为字符串"true"let a = {toString: () => "5"} + 5; // 结果为"55",对象被转换为字符串"5"
2.==与===区别

===(全等)

   ===操作符在比较两个值时,不仅会比较它们的值,还会比较它们的类型

==(等于)
   ==操作符在比较两个值时,会进行类型转换,然后进行比较同一类型下值是否相等

javascript">console.log("5" == 5); // true,因为"5"被转换为数字5
console.log("5" === 5); // false,因为"5"的类型是字符串,5的类型是数字,类型不同

javascript">console.log(null == undefined); // true,因为null和undefined在进行==比较时被认为是相等的
console.log(null === undefined); // false,因为null和undefined的类型不同

http://www.ppmy.cn/news/1551286.html

相关文章

OpenAI 是怎么“压力测试”大型语言模型的?

OpenAI 再次稍微揭开了它的安全测试流程的面纱。上个月,他们分享了一项调查的结果,这项调查研究了 ChatGPT 在根据用户名字生成性别或种族偏见的几率。现在,他们又发布了两篇论文,详细描述了如何对大型语言模型进行“压力测试”&a…

Android 编译和使用libheif

项目中需要使用libheif,libde265,libyuv。一下是相应的cmakelist.txt。这里直接使用了静态库。 里面涉及到c包的链接,需要stdc。 ${PROJECT_SOURCE_DIR}/../jniLibs/${ANDROID_ABI}/liblibde265.a这个路径由于操作过程中copy出现问题,多了一层路径&…

用户密码存储方式的发展史

文章目录 一、裸奔时代——纯文本存储二、远古时代:加密存储三、近代:单向哈希算法四、哈希加盐:穿上迷彩服两种加盐做法1. 随机生成盐并保存2. 固定算法生成盐并且不保存 五、21世纪:自适应单项函数未来趋势 一、裸奔时代——纯文…

嵌入式硬件设计:从概念到实现的全流程

嵌入式硬件设计是现代电子技术中一个至关重要的领域,涉及从硬件架构设计到硬件调试的各个方面。它为我们日常生活中的各类智能设备、家电、工业控制系统等提供了强大的支持。本文将介绍嵌入式硬件设计的基本流程、关键技术、常用工具以及常见的挑战和解决方案&#…

linux c串口应用编程,参照golang里面的json.Marshal/json.Unmarshal

protocol.h代码&#xff1a; rootiZwz99zhkxxl5h6ecbm2xwZ:~/serial-ipc# cat protocol.h #ifndef __PROTOCOL_H__ #define __PROTOCOL_H__#include <stdint.h> #include <stdbool.h>enum PACKAGE_TYPE {TYPE_HEART_BEAT 0x01,TYPE_SOMKE 0x02, };typedef stru…

C语言实现冒泡排序:从基础到优化全解析

一、什么是冒泡排序&#xff1f; 冒泡排序&#xff08;Bubble Sort&#xff09;是一种经典的排序算法&#xff0c;其工作原理非常直观&#xff1a;通过多次比较和交换相邻元素&#xff0c;将较大的元素“冒泡”到数组的末尾。经过多轮迭代&#xff0c;整个数组会变得有序。 二…

架构-微服务-服务配置

文章目录 前言一、配置中心介绍1. 什么是配置中心2. 解决方案 二、Nacos Config入门三、Nacos Config深入1. 配置动态刷新2. 配置共享 四、nacos服务配置的核心概念 前言 服务配置--Nacos Config‌ 微服务架构下关于配置文件的一些问题&#xff1a; 配置文件相对分散。在一个…

【计算机操作系统】操作系统引论(学习笔记)

目录 操作系统的目标和作用 目标 作用 操作系统的发展过程 单道批 多道批 分时系统 实时系统 微机操作系统 嵌入式操作系统​编辑 网络操作系统​编辑 分布式操作系统 操作系统的基本特性 并发 共享 虚拟 异步 操作系统的运行环境 操作系内核​ 处理机的双…