typescript .prototype
时间: 2023-10-31 11:57:59 浏览: 173
typescript-prototype:TypeScript原型
在TypeScript中,可以使用`.prototype`来定义对象的原型属性和方法。在JavaScript中,`.prototype`可以用于创建对象的原型链,使得对象可以共享相同的属性和方法。
通过使用`.prototype`,我们可以给对象添加自定义的属性和方法。当对象实例调用这些方法时,会首先在对象自身上查找该方法,如果找不到,则会继续在原型链上查找。
下面是一个示例代码:
```typescript
function Person() {}
Person.prototype.test = function () {
console.log(this.a);
}
let per1 = new Person();
per1.a = '456';
per1.test(); // 456
Person.prototype.test(); // undefined
per1.test = function () {
console.log('123');
}
per1.test(); // 123
// 错误示例,不能通过实例的原型调用方法
// per1.prototype.test(); // TypeError: Cannot read property 'test' of undefined
```
在这个示例中,我们创建了一个名为`Person`的构造函数,并通过`.prototype`给`Person`添加了一个`test`方法。然后,我们通过`new`关键字创建了一个`Person`的实例`per1`,并给`per1`添加了一个属性`a`。当我们调用`per1.test()`时,会先在`per1`对象本身查找`test`方法,然后再在`Person.prototype`上查找。因此,`per1.test()`的结果是`456`。而`Person.prototype.test()`的结果是`undefined`,因为该方法在调用时没有绑定到任何对象。
总结来说,`.prototype`可以用于在TypeScript中定义对象的原型属性和方法,实现属性和方法的共享和继承。
阅读全文