⊗tsSpGnTV 30 of 37 menu

Typiske variabler i TypeScript

For en bedre forståelse av konseptet generics la oss opprette vår første funksjon - identitetsfunksjonen. En slik funksjon returnerer nøyaktig det som ble sendt inn - med samme type.

La oss først skrive variantene av vår funksjon hver for seg.

La oss skrive en funksjon som tar inn et tall som parameter og returnerer et tall:

function func(data: number): number { return data; }

La oss nå skrive en funksjon som tar inn en streng som parameter og returnerer en streng:

function func(data: string): string { return data; }

La oss nå si at vi ønsker at alt dette skal gjøres av én funksjon. Det vil si at vi ønsker å utføre generalisering.

For dette bruker vi en typisk variabel, som lagrer datatypen. En slik variabel deklareres i vinkelparenteser før parentesene med funksjonsparameterne. La oss deklarere en slik variabel, og gi den navnet T (kan være hvilket som helst):

function func <T>(her parametere) { return data; }

Etter dette vil vi ha variabelen T, som kan brukes til å plassere parameterens type i den, og deretter angi den som returtype.

La oss angi typen til parameteren vår som vår variabel:

function func <T>(data: T) { return data; }

Det vil si at parameteren kan sendes i hvilken som helst type, og denne typen vil bli lagret i vår variabel T.

La oss nå bruke verdien av variabelen T for å angi funksjonens resultat:

function func <T>(data: T): T { return data; }

Nå vil det si at funksjonens returtype vil hentes fra parameterens type. La oss sjekke.

La oss kalle funksjonen med et tall:

console.log( func(3) ); // skriver ut 3

La oss kalle funksjonen med en streng:

console.log( func('x') ); // skriver ut 'x'

Lag en funksjon som parameter tar inn enten to tall, eller to strenger. Funksjonen skal returnere summen av parameterne.

Norsk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruker informasjonskapsler for nettstedets funksjonalitet, analyse og personalisering. Behandling av data foregår i henhold til Personvernerklæringen.
godta alle tilpass avvis