javascript - Kan du definiera stränglängd i TypeScript-gränssnitt?
Jag har en struktur som så:
struct tTest{
char foo [1+1];
char bar [64];
};
I TypeScript har jag
export interface tTest{
foo: string;
bar: string;
}
Finns det ett sätt att lägga till [64] och [1+1] till typen?
Svar #1
Som kommentarerna säger: js/ts stöder inte char-typen och det finns inget sätt att deklarera array-/stränglängder.
Du kan dock tvinga detta genom att använda en setter:
interface tTest {
foo: string;
}
class tTestImplementation implements tTest {
private _foo: string;
get foo(): string {
return this._foo;
}
set foo(value: string) {
this._foo = value;
while (this._foo.length < 64) {
this._foo += " ";
}
}
}
(kod i lekplats)
Du kommer att behöva ha en faktisk klass eftersom gränssnitten saknar implementation och inte överlever kompilationsprocessen.
Jag lade bara till mellanslag för att nå exakt längd, men du kan ändra det för att passa dina behov.
