- 类型
-
- string 字符串 使用单引号、双引号或者是反引号括起来,控制台输出为黑色字体
- number 整数、小数、负数、科学计数法表示的数,控制台输出为蓝色字体
- boolean 只有 true 和 false 两个值
- undefined 定义为 undefined 或变量声明没有赋值
- null
- object
-
判断方式 typeof 操作符 可能出现的结果有 undefined,number,string,boolean,object,function,symbol
-
类型转换
- 强制类型转换
String()、Boolean()、Number()
- 其他类型转为字符串类型
- 数值转为字符串类型
var a = 12; a = String(a);
使用 toString() 方法将数值转为指定的进制(从 2 到 36 进制)
var a = 12; a = a.toString(16);
使用 toFix() 方法将数值转为指定保留多少小数位,由于精度问题,小数位不能出现小于 2 位,不然会出现较大的误差。四舍五入的方式
var a = 12.45,b = 12.44; console.log(a.toFix(1),b.toFix(1)); -> 12.4 12.4
- 布尔值 undefined null 转为字符串类型
var b = true;console.log(String(b) === b.toString()); -> true var c = undefined;console.log(String(c)); //不能使用 toString() 方法将 undefined 转为 字符串 var d = null; console.log(String(d)); // 不能使用 toString() 方法将 null 转为 字符串
- object 转换为字符串
var a = {a:1,b:2}; console.log(String(a)); -> [object Object] console.log(String(a) === a.toString()); -> true var a = [1,3,4,5]; console.log(a.toString()); -> 1,3,4,5
-
其他类型转为数值型
- 除了 “”,false,null 转换为 0,其他数据类型转为数值型为 NaN
- 强制类型转换
-
其他类型转换为布尔型
- 除了 “”,undefined,null,false,0,NaN,转换为 false,其他数据类型转换为 true
-
隐式类型转换
-
使用隐式类型转换的都是强制类型转换
- 加法运算符
- == 不全等运算符