3.2.1 typeof操作符

返回值:

  1. "undefined" 表示值未定义;
  2. "boolean" 表示值为布尔值;
  3. "string" 表示值为字符串;
  4. "number" 表示值为数值;
  5. "object" 表示值为对象(而不是函数)或 null;
  6. "function" 表示值为函数;
  7. "symbol" 表示值为符号。

不同类型与布尔值之间转换:
image.png

3.2.2 数值转换

Number()函数基于如下规则执行转换。
布尔值,true 转换为 1,false 转换为 0。
数值,直接返回。
null,返回 0。
undefined,返回 NaN。
字符串:
如果字符串包含数值字符,包括数值字符前面带加、减号的情况,则转换为一个十进制数值。 因此,Number(“1”)返回 1,Number(“123”)返回 123,Number(“011”)返回 11(忽略前面 的零)
如果字符串包含有效的浮点值格式如”1.1”,则会转换为相应的浮点值(同样,忽略前面的零)。
如果字符串包含有效的十六进制格式如”0xf”,则会转换为与该十六进制值对应的十进制整 数值。
如果是空字符串(不包含字符),则返回 0。
如果字符串包含除上述情况之外的其他字符,则返回 NaN
对象:
调用 valueOf()方法,并按照上述规则转换返回的值。如果转换结果是 NaN,则调用 toString()方法,再按照转换字符串的规则转换。

3.2.3 String类型

image.png
image.png

转换为字符串

  1. let age = 11;
  2. let ageAsString = age.toString(); // 字符串"11"
  3. let found = true;
  4. let foundAsString = found.toString(); // 字符串"true"

3.2.4 symbol类型

1.符号的基本使用

  1. let sym = Symbol();
  2. console.log(typeof sym);