强制类型转换是指将一个数据类型强制转换为其他的数据类型。接下来,让我们一起来讲讲JavaScript在进行强制类型转换时都有哪几种方法吧~
将其他的数据类型转换为String
1. 方式一
- 调用被转换数据类型的toString()方法(调用xxx的yyy方法,就是xxx.yyy())
- 该方法不会影响原来的变量,它会将转换的结果返回
- null和undefined这两个值没有toString()方法,如果调用,则会报错
- 例:将整数类型转换为String
<script type="text/javascript">
var a = 123;
var b = a.toString();
console.log(typeof b);
console.log(b);
</script>
运行结果:
将null转换为字符串的运行结果:
2. 方式二
- 调用String()函数,并将被转换的数据类型作为参数传递给函数
- 使用String()函数做强制类型转换时,对于Number和Boolean实际上就是调用的toString()方法。但是对于null和undefined,它会将null直接转换成"null",将undefined直接转换为"undefined"。
例:
将null转换成String类型
<script type="text/javascript">
var a = null;
var b = String(a);
console.log(typeof b);
console.log(b);
</script>
运行结果:
3. 方式三(隐式类型转换)
- 任何值和字符串相加都会转换成字符串类型,并作拼接操作。我们可以利用这一特点,来将一个任意的数据类型转换为String。
- 我们只需要为任意的数据类型 + 一个 “” 即可将其转换为String。
- 这种隐式类型转换是由浏览器自动完成的,实际上它也是调用String()函数
例:
<script type="text/javascript">
var a = undefined;
var b = a + "";
console.log(typeof b);
console.log(b