js类型转换

强制类型转换(显式类型转换)----- 通过JS内置API实现

      

(通常地,我们通过 num + '' 把数字num转化为字符串,通过 str - 0 str * 1 把字符串str转化为数字)

自动类型转换(隐式类型转换)----- 通过JS运算符实现(赋值运算符除外)

算术运算符

1. 加号(+)的两个作用:

  (1)、当加号两侧为数值时,则进行相加运算

  (2)、当加号一侧有字符串时,则进行拼接

2. 减、乘、除、模都会发生隐式类型转换

比较运算符(关系运算符): 输出true/false

1. 关系运算符两端,只要有一个是number类型,另外一个(null 除外)会隐式转换成number,再进行比较。

2. 关系运算符的两端,如果都是string,则比较Unicode码,以Unicode码不相等的两个字符比较结果作为整体结果。

3. null 不等于(除null以外的)任何值。

    但是null和其他值进行大于、小于运算时,两边会转成数字进行比较。

 --------------------------------------

  

逻辑运算符

相关面试题:

[] + {} // 结果为 '[object Object]'
[] + [] // 结果为 ''
{} + {} // 结果为 NaN
{} + [] // 结果为 0,当语句开始为{时,会被JS解释器认为是代码块,所以实质上是 +[]

  

原文地址:https://www.cnblogs.com/edwardwzw/p/12382782.html