知食记
搜索文档…
类型转换
JS中类型转换只有三种情况,分别是:
  • 转换为布尔值
  • 转换为数字
  • 转换为字符串

转换为Boolean

在条件判断时,除了 undefinednullfalseNaN''0-0,其他所有值都转为 true,包括所有对象。

转为数字|字符串

见表
注意图中有一个错误,Boolean 转字符串这行结果我指的是 true 转字符串的例子,不是说 Boolean、函数、Symblo 转字符串都是 true

对象转原始类型

  1. 1.
    如果Symbol.toPrimitive()方法,优先调用再返回
  2. 2.
    调用valueOf(),如果转换为原始类型,则返回
  3. 3.
    调用toString(),如果转换为原始类型,则返回
  4. 4.
    如果都没有返回原始类型,会报错
1
var obj = {
2
value: 3,
3
valueOf() {
4
return 4;
5
},
6
toString() {
7
return '5'
8
},
9
[Symbol.toPrimitive]() {
10
return 6
11
}
12
}
13
console.log(obj + 1); // 7
Copied!
最近更新 2yr ago