共计 1210 个字符,预计需要花费 4 分钟才能阅读完成。
强制转换
强制转换次要指应用 Number()
、String()
和Boolean()
三个函数,手动将各种类型的值,别离转换成数字、字符串或者布尔值。
Number()
应用 Number
函数,能够将任意类型的值转化成数值。
(1)原始类型值
原始类型值的转换规则如下。
// 数值:转换后还是原来的值 | |
Number(324) // 324 | |
// 字符串:如果能够被解析为数值,则转换为相应的数值 | |
Number('324') // 324 | |
// 字符串:如果不能够被解析为数值,返回 NaN | |
Number('324abc') // NaN | |
// 空字符串转为 0 | |
Number('') // 0 | |
// 布尔值:true 转成 1,false 转成 0 | |
Number(true) // 1 | |
Number(false) // 0 | |
// undefined:转成 NaN | |
Number(undefined) // NaN | |
// null:转成 0 | |
Number(null) // 0 |
Number
函数将字符串转为数值,要比 parseInt
函数严格很多。基本上,只有有一个字符无奈转成数值,整个字符串就会被转为NaN
。
parseInt('42 cats') // 42 | |
Number('42 cats') // NaN |
(2)对象
简略的规定是,Number
办法的参数是对象时,将返回NaN
,除非是蕴含单个数值的数组。
Number({a: 1}) // NaN | |
Number([1, 2, 3]) // NaN | |
Number([5]) // 5 |
String()
String
函数能够将任意类型的值转化成字符串,转换规则如下。String()
String
函数能够将任意类型的值转化成字符串,转换规则如下。
(1)原始类型值
- 数值:转为相应的字符串。
- 字符串:转换后还是原来的值。
- 布尔值 :
true
转为字符串"true"
,false
转为字符串"false"
。 - undefined:转为字符串
"undefined"
。 - null:转为字符串
"null"
。
String(123) // "123" | |
String('abc') // "abc" | |
String(true) // "true" | |
String(undefined) // "undefined" | |
String(null) // "null" |
(2)对象
String
办法的参数如果是对象,返回一个类型字符串;如果是数组,返回该数组的字符串模式。
String({a: 1}) // "[object Object]" | |
String([1, 2, 3]) // "1,2,3" |
Boolean()
Boolean()
函数能够将任意类型的值转为布尔值。
它的转换规则绝对简略:除了以下五个值的转换后果为false
,其余的值全副为true
。
undefined
null
0
(蕴含-0
和+0
)NaN
''
(空字符串)
Boolean(undefined) // false | |
Boolean(null) // false | |
Boolean(0) // false | |
Boolean(NaN) // false | |
Boolean('') // false |
正文完
发表至: javascript
2022-03-15