Hogyan lehet karakterláncok tömbjét definiálni egy TypeScript interfészben?
Van egy ilyen tárgyam:
{
"address": ["line1", "line2", "line3"]
}
Hogyan definiáljuk a address-t egy interfészben? A tömb elemeinek száma nem rögzített.
Válasz #1
interface Addressable {
address: string[];
}
Válasz #2
A tömb egy speciális adattípus, amely képes több, különböző adattípusú értéket sorban tárolni egy speciális szintaxis segítségével.
A TypeScript támogatja a tömböket, hasonlóan a JavaScripthez. Két módja van a tömb deklarálásának:
- Négyzetes zárójelek használata. Ez a módszer hasonló ahhoz, ahogyan JavaScriptben tömböket deklarálnál.
let fruits: string[] = ['Apple', 'Orange', 'Banana'];
- Egy általános tömbtípus, Array használata.
let fruits: Array<string> = ['Apple', 'Orange', 'Banana'];
Mindkét módszer ugyanazt az eredményt adja.
Természetesen mindig inicializálhat egy tömböt az alább bemutatott módon, de nem fogja élvezni a TypeScript típusellenőrző rendszerének előnyeit.
let arr = [1, 3, 'Apple', 'Orange', 'Banana', true, false];
Forrás
Válasz #3
Ez így egyszerű:
address: string[]
Válasz #4
Ez a válasz, amiért idejöttem:
enum Lines {
"line1",
"line2",
"line3",
}
interface Addressable {
address: keyof typeof Lines;
}
