JavaScript-隐式转换

由于JavaScript是一种弱类型特性语言,定义变量的时候无需指定变量类型。因为在运算过程中会存在隐式转换。

(1)比如 76+32 ,这个是数字运算,结果为108。但是如果改成“76”+32,那么结果就会变为 7632,对字符串进行拼接。但是如果改成“76”-32,那么结果就会变为44,尝试将字符串转换为数字并对数字进行运算。

(2)巧用+/-转换类型。如果希望将字符串转换为数字,那么可以处理为(num-0)。如果希望将数字转换为字符串,那么可以处理为(num+" ")。

(3)'1.23' == 1.23 这个是正确的。两侧为一边是字符串一边为数字时,会尝试将字符串转换为数字,再进行比较。

(4)a === b  ,“===”代表严格等于。

(5)严格等于会先判断等号两侧的数据类型,类型不同直接返回false,类型相同类型相同,同===再比较内容是否相同。

(6)严格等于比较的时候,数字比较值相同,字符串比较内容和长度都相同。null === null, undefined === undefined 。NaN ≠ NaN,NaN和任何东西都不相等。new Object ≠ new Object,对象不是用值来比较,是用引用来比较,所以即使值相同,它们也不相等,因为他们不是相同的对象。

(7)" == "比较的时候,如果类型不同,尝试类型转换和比较:null == undefined 相等,number == string 转number1 == “1.0" // true,boolean == ?转number1 == true// true,object == number | string 尝试对象转为基本类型new String('hi') == ‘hi’ // true,其它:false。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Javascript 中有6种基本类型(包括 symbol),以及对象类型,他们在不同的运算中会被系统转化为不同是...
    faremax阅读 4,320评论 0 3
  • 第一章 Javascript简介 Javascript实现 核心(ECMAScript) 文档对象模型(DOM) ...
    江上风平浪静阅读 3,821评论 0 0
  • 值类型转换 将值从一种类型转换为另一种类型通常称为类型转换,这是显式的情况;隐式的情况称为强制类型转换 类型转换发...
    俗三疯阅读 3,736评论 0 0
  • 不要总在过去的回忆里缠绵,昨天的太阳晒不干今天的衣裳,醒醒吧明天的衣服已不需要太阳晒。跟上节奏,每天都是全新的自己。
    吕明超阅读 1,058评论 0 0
  • 3月4日,和几个朋友来到平陆县风口景区观山赏景。此时,乍暖还寒。小草破土而出,柳树遥看翠绿一片。春的气息已渐渐浓郁...
    任红星阅读 3,452评论 0 0

友情链接更多精彩内容