📜  JavaScript Object.prototype.toString() 方法(1)

📅  最后修改于: 2023-12-03 15:01:38.359000             🧑  作者: Mango

JavaScript Object.prototype.toString() 方法

Object.prototype.toString() 是 JavaScript 中用于返回一个对象的字符串表示的方法。它返回一个由对象的类型以及其他附加信息组成的字符串。

语法
obj.toString()
返回值

toString() 方法返回一个表示对象的字符串。

描述

Object.prototype.toString() 方法通常由内置对象调用,不过也可以被自定义对象调用。当该方法被调用时,它会按照以下规则返回一个表示对象类型的字符串:

  • 对于内置对象,例如 ArrayDateRegExptoString() 方法会返回相应对象的字符串表示。

  • 对于自定义对象,toString() 方法默认返回 "[object Object]"。但是,我们可以在自定义对象中重写 toString() 方法,以便返回自定义的字符串表示。

示例
示例 1: 内置对象
var arr = [1, 2, 3];
var date = new Date();
var regExp = /\w+/;

console.log(arr.toString());      // 输出: "1,2,3"
console.log(date.toString());     // 输出: "Sat May 01 2021 14:35:27 GMT+0530 (印度标准时间)"
console.log(regExp.toString());   // 输出: "/\w+/"
示例 2: 自定义对象
function Person(name, age) {
  this.name = name;
  this.age = age;
}

Person.prototype.toString = function() {
  return `Person { name: ${this.name}, age: ${this.age} }`;
};

var person = new Person("Alice", 25);

console.log(person.toString());   // 输出: "Person { name: Alice, age: 25 }"
console.log(person + "");         // 输出: "Person { name: Alice, age: 25 }"
注意事项
  • Object.prototype.toString() 方法经常被用于检测变量的类型。可以使用该方法来判断变量是否为数组、日期、正则表达式等特定类型。

  • 如果想要获取更具体的对象类型,可以使用 Object.prototype.constructor.name 属性。