PL
TypeScript - getter interfejsu
0 points
Język TypeScript nie pozwala na bezpośrednie dodawanie getterów do interfejsu. W interfejsie można jedynie określić właściwość, którą następnie można zaimplementować jako getter w przedstawiony poniżej sposób.
xxxxxxxxxx
1
interface Square {
2
readonly name: string;
3
4
readonly x: number;
5
readonly y: number;
6
}
7
8
class LocalSquare implements Square {
9
10
public constructor(private _name: string,
11
private _x: number = 0, private _y: number = 0) {
12
// tutaj nic...
13
}
14
15
get name() : string {
16
return this._name;
17
}
18
19
get x(): number {
20
return this._x;
21
}
22
23
get y(): number {
24
return this._y;
25
}
26
}
27
28
let a = new LocalSquare('A', 1, 2);
29
30
console.log(`${a.name}(${a.x}, ${a.y})`);
Kompletacja i prowadzenie:
xxxxxxxxxx
1
$ tsc --target ES5 Script.ts
2
$ node Script.js
Wynik:
xxxxxxxxxx
1
A(1, 2)
Uruchamialny przykład online - tutaj .
Uwagi:
- konieczne jest włączenie
--targer ES5
parametru obsługi getterów podczas kompilacji (sprawdź pełną listę celów tutaj )readonly
słowo kluczowe w interfejsie jest opcjonalne