Ty­peSc­rip­tin avulla käyttäjät voivat määrittää tyypit funk­tioil­le, pa­ra­met­reil­le ja pa­lau­tusar­voil­le. Koska Ty­peSc­ript tarkistaa, onko käytetty oikeita tie­to­tyyp­pe­jä, tyyppien mää­rit­tä­mi­nen auttaa ha­vait­se­maan virheet ai­kai­sem­min ja parantaa koodin laatua.

Mitä ovat Ty­peSc­ript-funktiot?

Ty­peSc­ript-funktiot ovat Ty­peSc­rip­tin keskeinen osa. Ty­peSc­rip­tin funktiot ovat sa­man­lai­sia kuin Ja­vaSc­rip­tin funktiot, mutta niillä on lisäksi staat­ti­sen tyy­pi­tyk­sen etu. Tässä lä­hes­ty­mis­ta­vas­sa muut­tu­jien, pa­ra­met­rien ja pa­lau­tusar­vo­jen tie­to­tyy­pit mää­ri­tel­lään jo kään­tä­mi­sen aikana, eikä niitä voi muuttaa suo­ri­tuk­sen aikana. Tämä vähentää virheitä tuo­tan­to­ym­pä­ris­tös­sä.

Toinen Ty­peSc­ript-funk­tioi­den omi­nai­suus on niiden jous­ta­vuus. Funk­tioil­la voi olla va­lin­nai­sia ja ole­tusar­voi­sia pa­ra­met­rien arvoja, mikä helpottaa niiden mu­kaut­ta­mis­ta eri käyt­tö­tar­koi­tuk­siin. Mah­dol­li­sia käyt­tö­tar­koi­tuk­sia ovat esi­mer­kik­si tie­to­jen­kä­sit­te­ly, käyt­tö­liit­ty­män vuo­ro­vai­ku­tus, asynk­ro­ni­nen oh­jel­moin­ti ja paljon muuta. Voit myös mää­ri­tel­lä yli­kuor­mi­tuk­sia, jotta saat erilaisia toi­min­to­ja syöt­tö­ar­vo­jen pe­rus­teel­la.

Funk­tioi­den mää­rit­te­lyn lisäksi Ty­peSc­rip­tis­sa voi käyttää myös apu­funk­tioi­ta. Nämä funktiot ovat lyhyempiä mer­kin­tö­jä, ja niitä käytetään usein ny­ky­ai­kai­sis­sa Ja­vaSc­ript-ke­hi­tys­käy­tän­nöis­sä.

Ty­peSc­ript-funktiot ovat avai­na­se­mas­sa Ty­peSc­ript-pro­jek­teis­sa käy­tet­tä­vän koodin tur­val­li­suu­den ja luet­ta­vuu­den pa­ran­ta­mi­ses­sa. Samalla niiden jous­ta­vuus ja mu­kau­tu­vuus tekevät niistä sopivia mo­nen­lai­siin vaa­ti­muk­siin.

Mikä on Ty­peSc­ript-funk­tioi­den syntaksi?

Ty­peSc­ript on Ja­vaSc­rip­tin yläjoukko. Siksi Ty­peSc­ript-funk­tioi­den syntaksi on sa­man­lai­nen kuin Ja­vaSc­ript-funk­tioi­den. Funk­tio­koo­di on aal­to­sul­keis­sa { }. Siinä to­teu­te­taan funktion var­si­nai­nen logiikka. Tässä on Ty­peSc­ript-funktion pe­rus­syn­tak­si:

function functionName(parameter1: type, parameter2: type): returnType {
    // Function Code
    return result; // (optional)
}
ty­pesc­ript
  • function: tämä avainsana merkitsee funktion dekla­roin­nin alkua.
  • func­tion­Na­me: tämä on funktion nimi. Valitse kuvaava nimi, joka kuvaa funktion tehtävää.
  • parametri1, parametri2: nämä ovat pa­ra­met­rit, joita funktio odottaa. Jokainen parametri tun­nis­te­taan sen nimen ja odotetun tie­to­tyy­pin (tyyp­pi­mer­kin­nän) pe­rus­teel­la.
  • re­turn­Ty­pe: tämä on tie­to­tyyp­pi, jonka funktio palauttaa. Voit myös määrittää void, jos funktio ei palauta arvoa.
  • return result on va­lin­nai­nen ja sitä käytetään, jos funktion tulisi palauttaa arvo.

Ty­peSc­ript-funktiot kutsutaan käyt­tä­mäl­lä funktion nimeä, jota seuraa suluissa oleva ar­gu­ment­ti ( syöt­tö­ar­vo ). Suluissa mää­ri­tel­lään funktion ar­gu­men­tit (syöt­tö­ar­vot), jos funktio odottaa pa­ra­met­re­ja.

functionName(argument1, argument2, ...);
ty­pesc­ript

Ty­peSc­ript-funk­tioi­den esi­merk­ke­jä

Ty­peSc­ript-funktiot ovat erittäin mo­ni­puo­li­sia ja niitä voidaan käyttää las­kel­mien, ope­raa­tioi­den ja mo­ni­mut­kais­ten pro­ses­sien suo­rit­ta­mi­seen so­vel­luk­sis­sa.

Anonyymit funktiot

Anonyymit funktiot Ty­peSc­rip­tis­sä ovat funk­tioi­ta, joilla ei ole nimeä ja jotka vä­li­te­tään suoraan lausek­keis­sa tai ar­gu­ment­tei­na muille funk­tioil­le. Anonyymit funktiot ovat hyö­dyl­li­siä, jos tarvitset funktiota vain yhdessä kohdassa koodia etkä halua antaa sille omaa nimeä.

var greet = function(name) {
    return "Hello, " + name + "!";
};
var message = greet("John");
console.log(message); // Output: "Hello, John!"
ty­pesc­ript

Tässä esi­mer­kis­sä nimetön funktio tal­len­ne­taan muut­tu­jaan greet ja kutsutaan myöhemmin luomaan hen­ki­lö­koh­tai­nen ter­veh­dys­vies­ti John:lle.

Anonyymit funktiot si­säl­tä­vät myös lambda-funktiot, jotka tunnetaan nuo­lip­funk­tioi­na.

const add = (a: number, b: number) => a + b;
const result = add(3, 5); // Output: 8
ty­pesc­ript

Tässä kahden luvun yh­teen­las­ki­ja­na toimiva nimetön funktio mää­ri­te­tään muut­tu­jal­le add ja kutsutaan sitten.

Ole­tus­pa­ra­met­rit

Ty­peSc­rip­tin ole­tus­pa­ra­met­rit (tunnetaan myös nimellä va­kio­pa­ra­met­rit) mah­dol­lis­ta­vat Ty­peSc­ript-funk­tioi­den mää­rit­te­lyn siten, että niillä on pa­ra­met­rien ole­tusar­vot. Kun funktiota kutsutaan eikä pa­ra­met­rik­si välitetä mitään arvoa, käytetään sen sijaan ole­tusar­voa.

function greet(name: string = "World") {
    return "Hello, " + name + "!";
}
console.log(greet()); // Output: "Hello, World!"
console.log(greet("John")); // Output: "Hello, John!"
ty­pesc­ript

Tässä greet funk­tiol­la on ole­tusar­vo world pa­ra­met­ril­le name. Jos funktiota kut­sut­taes­sa ei anneta arvoa name, käytetään au­to­maat­ti­ses­ti ole­tusar­voa.

Le­po­pa­ra­met­rit

Ty­peSc­rip­tin rest-pa­ra­met­reil­la (tunnetaan myös nimellä rest-ope­raat­to­rit tai rest-pa­ra­met­ri­syn­tak­si) voit kerätä mää­rit­te­le­mät­tö­män määrän ar­gu­ment­te­ja Ty­peSc­ript-tau­lu­koi­na funk­tios­sa. Tämä on hyö­dyl­lis­tä, jos haluat kir­joit­taa funk­tioi­ta, jotka voivat käsitellä vaih­te­le­via määriä ar­gu­ment­te­ja.

function sum(...numbers: number[]): number {
    let total = 0;
    for (const num of numbers) {
        total += num;
    }
    return total;
}
console.log(sum(1, 2, 3, 4, 5)); // Output: 15
ty­pesc­ript

Esi­mer­kis­sä funktio sum kerää minkä tahansa määrän lukuja rest-pa­ra­met­ri­na numbers ja laskee niiden summan. Voit syöttää niin monta lukua kuin haluat, ja funktio laskee ne kaikki yhteen.

Yli­kuor­mi­tus

Funk­tioi­den yli­kuor­mi­tus­ta käytetään mää­rit­te­le­mään useita funk­tio­mää­rit­te­ly­jä, joilla on sama nimi mutta eri parametri- tai pa­lau­tus­tyy­pit. Tämä auttaa Ty­peSc­rip­tiä va­lit­se­maan au­to­maat­ti­ses­ti oikean funk­tio­mää­rit­te­lyn vä­li­tet­ty­jen ar­gu­ment­tien pe­rus­teel­la ja suo­rit­ta­maan tyyp­pi­tar­kis­tuk­set.

function concatenate(a: string, b: string): string;
function concatenate(a: number, b: number): string;
function concatenate(a: any, b: any): string {
    return a.toString() + b.toString();
}
console.log(concatenate("Hello, ", "World")); // Output: "Hello, World"
console.log(concatenate(3, 5)); // Output: "35"
ty­pesc­ript

Yllä olevassa esi­mer­kis­sä on kaksi funktiota, jotka yli­kuor­mit­ta­vat arvon concatenate. En­sim­mäi­nen hyväksyy kaksi merk­ki­jo­noa ja toinen kaksi lukua. Funktio itse muuntaa välitetyt ar­gu­men­tit merk­ki­jo­noik­si ja yhdistää ne. Ty­peSc­ript valitsee au­to­maat­ti­ses­ti sopivan yli­kuor­mi­tuk­sen vä­li­tet­ty­jen ar­gu­ment­tien pe­rus­teel­la ja suorittaa tar­vit­ta­vat tyyp­pi­tar­kis­tuk­set.

Funk­tioi­den yli­kuor­mi­tuk­set ovat erityisen hyö­dyl­li­siä, jos kehität API:ta tai kirjastoa, jossa haluat varmistaa, että funktion käyttö on yk­sin­ker­tais­ta ja vir­hee­tön­tä riip­pu­mat­ta käyt­tä­jien antamien pa­ra­met­rien eri­lai­sis­ta tyypeistä.

Siirry pää­va­lik­koon