<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
/**
* 强制类型转换
* - 指将一个数据类型转换为其他数据类型
* - 类型转换主要指: 将其他数据类型转换为
* String Number Boolean
**/
/**
* 将其他数据类型转换为String
* 方式一:
* - 调用被转换数据类型的toString()方法
* - 该方法不会影响到原变量,它会将转换的结果返回
* - 但是注意,null和undefined这两个值没有toString()方法
* 如果调用,则为报错
* 方式二:
* - 调用String()函数,并将要转换的数据做为参数传递给函数
* - 使用String()函数强制类型转换时
* 对于Number和Boolean实际上就是调用的toString()方法
* 但是对于null和undefined,就不会调用toString()方法
* 它会将null 直接转换为"null"
* 将undefined直接转换为 "undefined"
**/
var a = 123;
// 调用a的toString()方法
a.toString()
console.log(a);
console.log(typeof a);
// 此时返回的结果String类型
var b = a.toString();
console.log(b);
console.log(typeof b);
// 此时返回的结果Sting类型
var c = true.toString();
console.log(c);
console.log(typeof c);
a = null;
// a.toString() 报错
a = undefined;
// a.toString(); 报错
// 调用String() 函数,来将a转换为字符串
a = 123;
a = true;
a = null;
a = undefined;
a = String(a)
console.log(a);
console.log(typeof a);
</script>
</head>
<body>
</body>
</html>