mercredi 5 juin 2019

Set Default Argument For When Function Takes 2 Arguments and Only One Is Given - Javascript

I tried to create some if-statements to catch when the first or second, optional arguments are undefined.

But when only one argument is entered, it's still assigning that argument value to the first argument. I.e.

function dogBreeder (name, age) {
    if (name === undefined) {
      name = "Steve";
    }
    if (age === undefined) {
      age = 0;
    }
    let newObject = {};
    newObject.name = name;
    newObject.age = age;
    return newObject;
}

console.log(dogBreeder(23));

But of course we want it to log: { name: Steve, age: 23 } instead.

I don't know how to force the name to equal "Steve" when only one argument is given and that argument is a Number.

I also tried:

function dogBreeder (name, age) {
    if (typeof(name) === "number") {
        name = "Steve";
    }
    if (name === undefined) {
      name = "Steve";
    }
    if (age === undefined) {
      age = 0;
    }
    let newObject = {};
    newObject.name = name;
    newObject.age = age;
    return newObject;
}

console.log(dogBreeder(0));

Aucun commentaire:

Enregistrer un commentaire