Noklusējuma parametri / JavaScript ES6

 

Noderīga ES6 funkcija ļauj man iestatīt noklusējuma parametru funkcijas definīcijā Pirmkārt, .

Tas nozīmē, ka es izmantošu ES6 līdzekli, kas ļauj iestatīt noklusējuma parametru funkcijas definīcijā, kas iet roku rokā ar aizsardzības kodēšanas pieeju, vienlaikus praktiski neprasot to ieviest.

Piemēram, apsveriet funkcijas deklarāciju bez noklusējuma parametru iestatīšanas:

function navNoklusējumaParametru(skaitlis) {


    console.log('Rezultāts:', skaitlis * skaitlis)
}

Acīmredzot funkcijai navNoklusējumaParametru ir jāatgriež jebkurš skaitlis, ko tā saņem kvadrātā.

Tomēr, ja es to izsaucu šādi:

navNoklusējumaParametru(); // izvada: NaN

JavaScript tā dinamiskā rakstura dēļ neizraisa kļūdu, taču atgriež nesaprātīgu izvadi.

Tagad apsveriet šādu uzlabojumu, izmantojot noklusējuma parametrus:

function arNoklusējumaParametriem(skaitlis = 10) {
    console.log('Rezultāts:', skaitlis * skaitlis)
}

Noklusējuma parametri ļauj man izveidot funkciju, kas darbosies ar noklusējuma argumentu vērtībām, pat ja es tai nenododu nevienu argumentu, vienlaikus ir pietiekami elastīga, lai ļautu nodot pielāgotas argumentu vērtības un attiecīgi rīkoties.

Tas tagad ļauj man kodēt savas klases tādā veidā, kas veicinās vieglāku objektu instantiāciju.

Apsveriet šādu klases definīciju:

class navNoklusējumaParametru {
    constructor(skaitlis1, skaitlis2, skaitlis3, strings1, boolean1) {
        this.skaitlis1 = skaitlis1;
        this.skaitlis2 = skaitlis2;
        this.skaitlis3 = skaitlis3;
        this.strings1 = strings1;
        this.boolean1 = boolean1;
    }
    calculate() {
        if(this.boolean1) {
            console.log(this.strings1, this.skaitlis1 + this.skaitlis2 + this.skaitlis3);
            return;
        }
        return "Boolean vērtība ir nepareiza"
    }
}
Tagad es izveidošu navNoklusējumaParametru klases objektu un palaidīšu tam aprēķinu () metodi. Acīmredzot boolean1 ir jāiestata uz True izsaukšanas laikā, lai tas darbotos, bet es to iestatīšu uz nepatiesu False ar nolūku, lai izceltu manu domu.
var bēdiņa = newnavNoklusējumaParametru(1,2,3,false);
bēdiņa.calculate(); // 'Boolean vērtība ir nepareiza'

Šis piemērs var izcelt iemeslu, kāpēc dažkārt tiek parādīti dīvaini kļūdu ziņojumi, kad tiek izmantota programmatūra — iespējams, izstrādātājiem vienkārši nebija pietiekami daudz laika, lai to izveidotu labāk.

Tomēr tagad, kad jūs zināt par noklusējuma parametriem, šo piemēru var uzlabot šādi:

class arNoklusējumaParametriem {
    constructor(skaitlis1 = 1, skaitlis2 = 2, skaitlis3 = 3, strings1 = "Rezultāts:", boolean1 = true) {
        this.skaitlis1 = skaitlis1;
        this.skaitlis2 = skaitlis2;
        this.skaitlis3 = skaitlis3;
        this.strings1 = strings1;
        this.boolean1 = boolean1;
    }
    calculate() {
        if(this.boolean1) {
            console.log(this.strings1, this.skaitlis1 + this.skaitlis2 + this.skaitlis3);
            return;
        }
        return "Boolean vērtība ir nepareiza"
    }
}
var better = new arNoklusējumaParametriem();
better.calculate(); // Result: 6

Šī pieeja uzlabo mana koda izstrādātāja pieredzi, jo man vairs nav jāuztraucas par arNoklusējumaParametriem klases padevi ar visiem argumentiem. Ātrām pārbaudēm tas ir lieliski, jo man vairs nav jāuztraucas par pareizu argumentu nokārtošanu.

Turklāt šī pieeja patiešām ir lieliska, veidojot mantojuma hierarhijas, izmantojot klases, jo tā ļauj apakšklasē nodrošināt tikai pielāgotos rekvizītus, vienlaikus pieņemot visus noklusējuma parametrus no superklases konstruktora.

Noslēgumā šajā rakstā esmu apskatījis sekojošo:

  • Kā izveidot objektu orientētas programmas JavaScript
  • Paplašinājumu un super atslēgvārdu loma
  • Noklusēto parametru izmantošanas nozīme.

Loading

Noderīgs raksts? Dalies ar citiem: