前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >「  [学习记录] JS 类型转换 - 隐式转换  」

「  [学习记录] JS 类型转换 - 隐式转换  」

作者头像
青益
发布2023-01-09 16:07:12
5.2K0
发布2023-01-09 16:07:12
举报
文章被收录于专栏:青益云记青益云记
JS 类型转换 - 隐式转换

  • 强制转换也叫作显式转换
  • 隐式转换叫做自动类型转换
简单规则介绍
  1. 如果一个操作数是布尔值,那么在比较之前相等性之前 会将其转换成number类型 例如:ture == 1
  2. 如果一个数是字符串,另一个操作数是数值,那么在比较时也会将这个字符串转换成数值 如果是一个不合法的数值则结果NaN 我们知道NaN和任何内容比较都不相等,包括自身 同时 如果在进行比较是 一个操作数是NaN 那么就会无视规则 直接返回false
  3. null == null 也会无视规则 直接返回TRUE
  4. undefined == undefined也会无视规则直接返回true
  5. null == undefined 也会无视规则直接返回TRUE
  6. NaN == NaN 也会无视规则直接返回false
  7. === 全等号在进行比较的时候 不会转换类型
  8. 如果一个操作数 是对象 另一个操作数不是对象 就会调用对象的tostring方法 用得到的基本值按照之前的规则去进行比较
  9. 如果两个操作数 都是对象 则去比较他们是否同一个对象 也就是引用地址是否是相同,如果不是相同,那么就会返回额FALSE 反之 true
例子
代码语言:javascript
复制
console.log("1"+true);   //结果为 1true

console.log(1+true);   //结果为 2

console.log(1+undefined); // 结果 NAN

console.log (1+null); //结果为 1 

console.log(true == 1); // true

简单来说就是,在比较运算过程中,基本数据类型会隐式转换,复杂数据类型不能隐式转换,但会使用toString()转成字符串,然后再进行隐式转换

js
js
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023/01/08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • JS 类型转换 - 隐式转换
    • 简单规则介绍
      • 例子
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档