javascript 数据类型转换规则

原创文章,转载请标记出处:https://blog.csdn.net/yihanzhi/article/details/80339690

1、其它类型转为逻辑类型

  • null 转为逻辑类型为false;
  • undefined 转为逻辑类型为false;
  • NaN 转为逻辑类型为false;(注:NaN为特殊的number类型)
  • number类型中 0转为逻辑类型为false,非0为true;
  • string类型中 空字符转为逻辑类型为false,非空字符为true;
  • object类型(除null外) 均转为true。

2、其它类型+string类型的运算

  • 【null+string类型】null转为字符串‘null’。(null+’a’结果为‘nulla’);
  • 【undefined+string类型】undefined转为字符串‘null’。(undefined+’a’结果为‘undefineda’);
  • 【NaN+string类型】NaN转为字符串‘null’。(NaN+’a’结果为‘NaNa’);
  • 【number类型+string类型】number类型转为字符串类型。(1+’a’结果为‘1a’)。

3、算术运算符

算术运算符包括:基本算术运算符(+, -, *, /, %)和单目算术运算符(+,-,++, - -) 。

当使用算数运算符操作时,非Number类型的操作数,先转为数字,在进行计算; 不能转为数字的转为NaN。
当操作数有string类型时,+作为连接符使用(并不是运算符),另一操作数转为string类型。

可以通过单目运算符(+)将其它类型转为数值类型,以下是特殊类型转为number类型时输出值:

  • 【+null】输出为0;
  • 【+undefined】输出为NaN;
  • 【+NaN】输出为NaN;
  • 【+boolean类型】false转为number类型为0,true为1。

猜你喜欢

转载自blog.csdn.net/yihanzhi/article/details/80339690