JavaScript快速入门04-类型转换

在JavaScript中有6种不同的类型:string、number、boolean、object、function、symbol(ES6),在程序开发过程中可以通过手动和自动两种方式进行类型转换。

手动类型转换

转换为string
  • 可以使用.toString()和调用String()进行转换
var a=123;
console.log(a.toString());  //null和undefined不用调用该方法
console.log(String(a));
转换为number
  • 可以使用Number()进行转换
  • 字符串转换为Number时,非法数字会转换为NaN,空字符串转换为0
  • 布尔值转换时,ture为1,false为0
  • undefined也会转换为NaN
  • NaN是一个特殊的非数字值,但类型为number
  • 调用parseInt()将字符串中的整数,转换为Number
  • 调用PaseFloat()将字符串中的小数,转换为Number
转换为boolean
  • 使用Boolean()函数进行转换
  • 字符串时,空串转换为false,非空串转换为true
  • 数值时0和NaN转换为false,大于0时转换为true
  • null和undefined转换为false

自动类型转换

在js中,在通过运算符进行运算时,如果两边的值数据类型不统一,系统会将两边的值类型进行自动转换,然后进行运算。

  • String + 其它类型
    当使用string与其它类型进行+运算时,其它类型自动转换成string类型
undefined --> "undefined"
null      --> "null"
true      --> "true"
false     --> "false"
NaN       --> "NaN"
1         --> "1"
  • Number进行运算
    与字符串运算除+法以外,会将字符串转换为数值
undefined  --> NaN
null       --> 0
true       --> 1
false      --> 0
"abc"      --> NaN
"a123"     --> NaN
" 123 "    --> 123 //忽略空格转换为数值
  • 自动转换示例
    // + 
    10 + '20'             //'2010'
    // -
    10 - '20'             //-10
    10 - 'one'            //NaN
    10 - '100a'           //NaN
    // *
    10*'20'               //200
    '10'*'20'             //200
    // /
    20/'10'               //2
    '20'/'10'             //2
    '20'/'one'           //NaN
    // ==
    undefined == null;    //true
    '0' == 0;            //true,字符串转数字
    0 == false;           //true,布尔转数字
    '0' == false;       //true,两者转数字
    null == false;       //false
    undefined == false;  //false

你可能感兴趣的:(JavaScript快速入门04-类型转换)