JS重写toString()方法
时间: 2023-11-12 12:11:58 浏览: 115
在 JavaScript 中,我们可以通过重写 `toString()` 方法来自定义对象的字符串表示形式。这个方法会在使用 `console.log()` 或者直接将对象转换为字符串时被调用。
下面是一个重写 `toString()` 方法的例子:
```javascript
class Person {
constructor(name, age) {
this.name = name;
this.age = age;
}
toString() {
return `${this.name} (${this.age})`;
}
}
const john = new Person("John", 30);
console.log(john.toString()); // 输出 "John (30)"
```
在这个例子中,我们定义了一个 `Person` 类,并重写了它的 `toString()` 方法。这个方法返回一个字符串,包含了该对象的姓名和年龄。
当我们使用 `console.log()` 打印 `john` 对象时,它会自动调用 `toString()` 方法并输出字符串 "John (30)"。
除了类之外,我们也可以直接在对象上定义 `toString()` 方法来达到同样的效果:
```javascript
const person = {
name: "John",
age: 30,
toString() {
return `${this.name} (${this.age})`;
}
};
console.log(person.toString()); // 输出 "John (30)"
```
阅读全文