ES5 - Object显式类型转换(强制类型转换)
在ECMAScript 5 (ES5) 中,对象的显式类型转换通常涉及到使用JavaScript内置的函数,如Number()
, String()
, 和 Boolean()
,来将对象转换成相应的原始类型值。这些函数被称为“强制类型转换函数”。
// 显式转换为字符串
var obj = { toString: function() { return "I am a string"; } };
var str = String(obj); // 使用String函数进行显式转换
console.log(str); // 输出: "I am a string"
// 显式转换为数字
var obj2 = { valueOf: function() { return 42; } };
var num = Number(obj2); // 使用Number函数进行显式转换
console.log(num); // 输出: 42
// 显式转换为布尔值
var obj3 = { };
var bool = Boolean(obj3); // 使用Boolean函数进行显式转换
console.log(bool); // 输出: true (因为对象是真值)
在这些例子中,String()
, Number()
, 和 Boolean()
函数分别调用了对象上的toString()
和valueOf()
方法,作为获取原始值的途径。如果对象没有提供这些方法,或者它们不返回有效的原始值,那么转换将会失败,并且可能抛出一个类型错误。
评论已关闭