Gyakorlat – Szórakozás paraméterekkel

Befejeződött

Ebben a gyakorlatban olyan függvényeket fog létrehozni, amelyek kötelező, nem kötelező és alapértelmezett paraméterekkel rendelkeznek.

Kötelező paraméterek

  1. Nyissa meg a Játszótért , és távolítsa el a meglévő kódot.

  2. Adja meg a következő nyílfüggvényt, amely három kötelező paramétert fogad el.

    let addThreeNumbers = (x: number, y: number, z: number): number => x + y + z;
    
  3. Próbálja meg meghívni a függvényt a beírással addThreeNumbers(10, 20). A TypeScript a várt 3 argumentumot adja meg, de 2-t kapott. A "z" argumentum nem lett megadva. Amikor fut, a függvény azért ad vissza NaN , mert a harmadik argumentumot a rendszer a következőképpen adta át undefined, így a számítás érvénytelen.

  4. Mi történik a beíráskor addThreeNumbers(10, 20, 30, 40)? A TypeScript a Várt 3 argumentumot , de 4-et kapott. Amikor fut, a negyedik argumentum leesik, és a függvény visszatér 60.

Választható paraméterek

  1. A függvényben próbálja meg opcionálissá tenni a paramétert y . Mi történik?

    let addThreeNumbers = (x: number, y?: number, z: number): number => x + y + z;
    
  2. A TypeScript hibát jelez, mert az opcionális paraméterek helyzete számít. A paraméterlistában az opcionális paramétereknek az összes szükséges paramétert követnie kell. y A paraméter helyett próbálja meg opcionálissá tenni a paramétertz. Ahhoz is, hogy ez a függvény a megfelelő értéket adja vissza, frissítenie kell azt is, hogy elhárítsa azt a lehetőséget, amely z most már átadható.undefined Most már képesnek kell lennie arra, hogy meghívja a függvényt addThreeNumbers(10, 20) a vagy addThreeNumbers(10, 20, 30)a .

    let addThreeNumbers = (x: number, y: number, z?: number): number => {
        if((z === undefined)) {
            return x + y;
        } else {
            return x + y + z;
        }
    };
    

Alapértelmezett paraméterek

  1. Adja meg a következő nyílfüggvényt, amely három kötelező paramétert fogad el.

    let subtractThreeNumbers = (x: number, y: number, z: number): number => x - y - z;
    
  2. A paraméter alapértelmezett értékének hozzárendelése 100 a z következőre cserélve z: numberz = 100: .

    let subtractThreeNumbers = (x: number, y: number, z = 100): number => x - y - z;
    
  3. Próbálja meg meghívni a függvényt két és három argumentummal az eredmény teszteléséhez.

    subtractThreeNumbers(10, 20);       // returns -110 because 'z' has been assigned the value 100
    subtractThreeNumbers(10, 20, 15);   // returns -25