Weboldal keresés

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:

  1. 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'];
  1. 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;
}

Kapcsolódó cikkek