EN
TypeScript - interface getter
17
points
In this article, we would like to show how in TypeScript create getter in interface and later implement it.
W TypeScript nie jest możliwe dodawanie getterów bezpośrednio do interfejsu. W interfejsie można określić tylko właściwość tylko do odczytu.
Quick solution:
interface Interface {
readonly getter: string;
}
class Implementation implements Interface {
get getter(): string {
return 'Some value here ...';
}
}
Practical example
interface Square {
readonly name: string;
readonly x: number;
readonly y: number;
}
class LocalSquare implements Square {
public constructor(private _name: string, private _x: number = 0, private _y: number = 0) {
// Nothing here ...
}
get name(): string {
return this._name;
}
get x(): number {
return this._x;
}
get y(): number {
return this._y;
}
}
let a = new LocalSquare('A', 1, 2);
console.log(`${a.name}(${a.x}, ${a.y})`);
Complilation and running:
$ tsc --target ES5 Script.ts
$ node Script.js
Output:
A(1, 2)
Run it online here.
Notes:
- to enable getters support
--targer ES5
parameter during complilation is necessary (check full list of targets here)readonly
keyword in interface is optional