==与===的区别 与类型转换
== 是一种比较松散,会进行类型转换之后判断。 10 == "10",结果肯定是true,因为这个过程"10"会被转换为一个数字类型再与10进行判断; null == undefined "" == 0 等等 但是 "" == null 是false的 因为""是一个空字符串基本类型, null代表空对象,""空字符串是String类型,存放于栈中已经分配内存空间,内存空间里面的值是一个空字符串。null代表是一个空对象还没有分配内存空间。有空间也会存放于堆中,所以无论怎么转换也不会相等。
=== 是指严格等于,在判断时不会做任何类型转换。实际逻辑中建议使用严格等于,减少类型转换判断比较准确。
所谓类型转换 分为强制类型转换和隐式类型转换:
强制类型转换也就是使用代码强制的把一种类型的数据转换成另一种类型的数据,比如parseInt,parseFloat Number() String() Boolean() 等等
隐式类型转换也就是执行的时候解析器自己帮我们转换的
if语句内的判断 逻辑运算符 比如 10 && 0 就等于0 &&运算符两边要不是布尔型的就会将先两边转换为布尔型的值 只有都是真的返回前面的值 有一个为假就返回后面的值 || 则不一样 有真的就返回真的 都是假就返回后面的也就是判断下第一个值是真是假 为真就返回 不为真就返回后面的数 !也会进行类型转换 小技巧 判断一个值强制转换为Boolean类型时是真是假 就用!!来判断即可。
一些类型转换的小用法: 把一个数字转换为字符串类型 100+"";让数字加上一个空字符串就会隐式转换为字符串。 parseInt转换字符串时会在第一个不是数字的字符时停止将前面的字符串转换为数字,忽略后面的信息。 将数字样式的字符串转换为数字类型 例: "100" - 0 就可以完成转换
在if语句中 判断条件的值为 0 "" NaN false 为假
转载于:https://www.cnblogs.com/lllmx/p/8144954.html
==与===的区别 与类型转换相关推荐
- 类型转换与类型断言之间的区别
搜罗了一下类型转换与类型断言之间的区别,还有类型断言一个返回值与两个返回值之间的区别 1.类型转换(1).语法:<结果类型> := <目标类型> ( <表达式> ) ...
- js 你知道为什么[]==![]是成立的吗(强制类型转换)
目录 前言 == 与 === 的区别 强制类型转换 例子 练习 特殊情况undefined==null 尾言 前言 js是一门弱类型的语言,它的强制类型转换的迷惑性也被人诟病,例如标题提到的一个小例子 ...
- JavaScript比较中应使用哪个等于运算符(== vs ===)?
这篇文章是社区维基 . 编辑现有答案以改善此职位. 它当前不接受新的答案. 我使用JSLint的经历JavaScript和它的返回许多建议更换== (双等号)与=== (三级等号)做这样的事情进行比较 ...
- 小心VB.NET中的除运算符/和/
小心VB.NET中的除运算符"/"和"/" VB.NET中除运算符有两种,普通除"/"和整数除"/",如果我们写程序时不 ...
- c++基础入门(根据浙大翁恺老师视频整理)
把以前的笔记搬上来一下 根据浙大翁恺老师视频整理 https://www.bilibili.com/video/BV1yQ4y1A7ts?p=2 01第一个c++程序 02什么是对象 通过操作访问数据 ...
- c#开发-基础知识及有用技巧(一)
1.时间长度的计算 TimeSpan类. 例如:TimeSpan span = dateTime1 - dateTime2 方便啊 2.从类(Class)返回一个System.Type类型, ...
- C++杂记(一)——常见知识总结
C++ 总结 文章目录 C++ 总结 引用和指针的区别? C++中的指针参数传递和引用参数传递 形参与实参的区别? 值传递.引用传递.指针传递. static的用法和作用? 静态变量什么时候初始化 c ...
- 2021年java重点面试题
这里写自定义目录标题 **1. ==与equals的的区别** **2. finalized的作用** **3. finally语句块一定执行吗?** **4.String不属于基础的数据类型** * ...
- float 与 double、隐式类型转换、switch、重写与重载、Java 与 C++ 的区别、JRE or JDK
1.float 与 double 1.1 字面量属于 double 类型,不能直接将 1.1 直接赋值给 float 变量,因为这是向下转型. // float f = 1.1; Java 不能隐式执 ...
- as和强制类型转换的区别
之前一直以为as就是强制类型转换,只是as是AS3中新的语法,之前用在有继承关系的对象之间的转换也无甚区别,但是今天却让我领悟到了它俩之间的区别. 原起:今天要给ColorPicker控件动态赋值,它 ...
最新文章
- 数据结构碎碎念(一)
- Python学习笔记:Day1-2 开发环境搭建
- 深入理解计算机系统读书笔记
- 给Android程序员的一些面试建议,附带学习经验
- 调整连字符号分隔字母的个数
- EventLoop-浏览器与Node.js--整理
- 【转载】.NET系统学习----Assembly
- 数据分析师初级—中级—高级,每个阶段都需要学习什么?
- apache comments io包IOUtils方法简单介绍
- 逻辑表达式三种化简方法
- DNSPod十问党霏霏:充电桩是披着高科技外皮的传统基建?
- 阿里巴巴达摩院发布2019十大科技趋势:数字身份将成为第二张身份证
- 使用GitLab CI/CD进行自动测试和部署
- 复数的指数C语言,复数运算 - RapidBird的个人空间 - OSCHINA - 中文开源技术交流社区...
- 智和信通:立足数字化、智能化、可视化,打造一站式制造业网络运维平台
- simulink实现他励直流电动机减弱磁通调速仿真
- vue校验密码的三种写法
- 一战赚了1090亿,恐怖的头条CEO张一鸣!
- Brodmann 分区
- 计算机视觉顶会论文复现,计算机视觉论文_2014年 计算机视觉会议征稿_accv
热门文章
- MixGo V1.0 发布,混合型高性能 Go 框架
- 原型和原型链的理解(通俗易懂)
- Python基础--04
- Python模拟谷歌浏览器发布文字、图片
- git clone 失败_鲜为人知的Git功能——Git Worktree工作树
- 给JDK设置tmp目录的办法
- AAPT: error: resource android:attr/dialogCornerRadius not found.
- LINUX下载编译libspeex/libspeexdsp
- VS编译NPAPI:jref类型出错
- 学深圳,垃圾随桶运走最好