十二、类型转换

十二、类型转换

12.1 Number()

Number()函数可以将任何其他类型的值,变为数字值

对于字符串,只有纯数字字符串能够成功变为数字类型:

1
2
Number(“23”)           // 23
Number(“0.5”) // 0.5

只要是字符串不纯,都是NaN:

1
Number(“5年”)            //NaN

布尔类型true1false0:

1
2
Number(true)           // 1
Number(false) // 0

对于undefined, Number()转的结果是NaN:

undefined属于undefined类型,undefined类型只有它一个值undefined

1
Number(undefined)                //NaN

12.2 String()

注意,大写S,用来将其他类型的值,变为字符串

将其他类型的值放里面,出来的结果就是加上引号的字符串

1
2
3
4
String(8)               // “8”
String(true) // “true”
String(false) // “false”
String(undefined) // “undefined”

12.3 Boolean()

将其他类型的值转为布尔类型

数字类型值,只有0NaN会被转为false,其余一律是true

1
2
3
4
Boolean(0)               // false
Boolean(NaN) // false
Boolean(43) // true
Boolean(-43) // true

字符串类型值,非空字符串就是true,空字符串就是false

1
2
3
Boolean(“”)               // false
Boolean(“内容”) // true
Boolean(“false”) // true

## 12.4 表达式综合求值

先学习一个知识,就是各种运算的优先级:

非—>数学运算(先自增自减,然后乘除取余,然后加减)—>关系运算符(大于小于)—>逻辑运算(先与后或)

然后注意,遇见数学运算,参与运算的要用Number()进行“隐式转换”(偷偷转换类型);遇见逻辑运算,使用短路语法。

  • 题目1:
1
2
3
4
5
8 + false > !true && “哈哈”
解:原式= 8 + false > false && “哈哈”
= 8 > false && “哈哈”
= true && “哈哈”
=”哈哈”
  • 题目2:
1
2
3
4
5
6
”” || 8 > false && !undefined + 2
解:原式= ”” || 8 > false && true + 2
= ”” || 8 > false && 3
= ”” || true && 3
= “” || 3
= 3
  • 题目3:
1
2
3
4
8 + false > “我” * “你” || false
解:原式= 8 > NaN || false
= false || false
= false
点击查看

本文标题:十二、类型转换

文章作者:Mango

发布时间:2020年07月08日 - 21:39:11

最后更新:2020年07月08日 - 22:35:39

原始链接:https://mango185.github.io/post/fce38183.html

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

-------------------本文结束 感谢您的阅读-------------------