前言

数据类型转换是咱们在前端开发中常常遇到的场景,一般而言,在 JavaScript 中类型转换有三种状况:

  • 转换为数字(调用 Number(),parseInt(),parseFloat()办法)
  • 转换为字符串(调用.toString()或 String()办法)
  • 转换为布尔值(调用 Boolean()办法)

须要留神的是:null、undefined 没有.toString() 办法

转换为数字

Number(string) 办法

Number() 能够把任意值转换成数字,如果要转换的指标对象(个别是字符串)中有不是数字的值,则会返回 NaN

Number('1')   // 1Number(true)  // 1Number('123s') // NaNNumber({})  //NaN

parseInt(string, radix)

解析一个字符串并返回指定基数的十进制整数,radix 是 2-36 之间的整数,示意被解析字符串的基数。

parseInt('2') //2parseInt('2',10) // 2parseInt('2',2)  // NaNparseInt('a123')  // NaN  如果第一个字符不是数字或者符号就返回NaNparseInt('123a')  // 123

parseFloat(string)

解析一个参数并返回一个浮点数。

parseFloat('123a')    //123parseFloat('123a.01')    //123parseFloat('123.01')    //123.01parseFloat('123.01.1')    //123.01

隐式转换

let str = '123'-str    // -123str+1 // '1231'+str+1 // 124let res = str - 1 //122

转换为字符串

toString()

将指标对象转换为字符串。

留神:null,undefined 不能调用。

Number(123).toString()    //'123'[].toString()    //''true.toString()    //'true'

String()

String() 的作用比拟弱小,它能够将任何传入的值都转为字符串。

String(123)    //'123'String(true)    //'true'String([])    //''String(null)    //'null'String(undefined)    //'undefined'String({})    //'[object Object]'

隐式转换

当 + 两边有一个是字符串,另一个是其它类型时,会先把其它类型转换为字符串再进行字符串拼接,返回字符串:

let a = 1a + ''    // '1'

转换为布尔值

Boolean()

Boolean() 办法会将以下值转换为 false:

  • 0
  • ""
  • null
  • undefined
  • NaN

其余的所有值都会被转换为 true。

Boolean('') //falseBoolean(0) //falseBoolean(1) //trueBoolean(null) //falseBoolean(undefined) //falseBoolean(NaN) //falseBoolean({}) //trueBoolean([]) //true

条件语句

在条件语句中,咱们个别不会被动进行布尔转换。

let aif(a) {  //...   //这里a为undefined,会转为false,所以该条件语句外部不会执行}

隐式转换

let str = '111'console.log(!!str) // true

总结

以上就是 JavaScript 根本数据类型转换相干的常识总结,其中最须要留神的是隐士转换。

~

~本文完,感激浏览!

~

学习乏味的常识,结识乏味的敌人,塑造乏味的灵魂!

大家好,我是〖编程三昧〗的作者 隐逸王,我的公众号是『编程三昧』,欢送关注,心愿大家多多指教!

你来,怀揣冀望,我有墨香相迎! 你归,无论得失,唯以余韵相赠!

常识与技能并重,内力和外功兼修,实践和实际两手都要抓、两手都要硬!