Hirdetés

Új hozzászólás Aktív témák

  • Lokids
    addikt

    Sziasztok!

    Megtudja valaki mondani, hogy mi a hiba a functionnel? Nem lép bele az isnan(b) || isnan(b) vizsgálatba.
    addTogether(2)([3])

    function addTogether(...args) {
      const [a, b] = args
        if (!b) {

           return function(b){
           console.log(b)
           if(isNaN(a) || isNaN(b)){
             return undefined
          }
             return a+b
         }
        }
        if(isNaN(a) || isNaN(b)){

          return undefined
        }
         return a+b
    }

    Nem akkor kelle bele lépni, ha a VAGY b nem szám? Mert a b ugye egy array, így az isNaN(b)-nek true-na kell lennie és vissza kéne adnia az undefined eredményt.

    Oké, megvan. Azért, mert az isNaN nem azt mondja meg, hogy szám-e vagy nem. :(
    Bár így eléggé zavaró az elnevezése.

    Viszont akkor újabb problémám van:
    if (arguments.length === 1){
      return function(b){
        console.log(typeof b)
        if(typeof a === "number" && typeof b === "number"){
          return a+b
        }
          return undefined
      }
    }

    Ha egyáltalán nincs 2. argumentum, akkor a typeof b-re azt kapom vissza, hogy [function].
    Ennek ellenére nem undefined lesz a visszatérő érték, hanem [function].
    Miért?

Új hozzászólás Aktív témák