简体   繁体   中英

Javascript function should throw an error if called without arguments or an argument is undefined

Help! I'm being interviewed on Tuesday, including a test on testdome.com... I looked at some of their "easy" javascript practise questions, and I'm stumped on this one:

Implement the ensure function so that it throws an error if called without arguments or an argument is undefined. Otherwise it should return the given value.

function ensure(value) {

}

So far, I've got:

function ensure(value) {
  if(value){
    return true;
  }
}

But how do I check if if the function is called "without arguments or an argument is undefined"?

I've tried a few things, like: else if (typeof value === 'undefined'), but that doesn't seem to work...

You can check if value === undefined , and if so throw an error. Otherwise return the input value.

 function ensure(value) { if(value === undefined) { throw new Error('no arguments'); } return value; } console.log(ensure('text')); console.log(ensure([0,1,2,3])); console.log(ensure());

 function noValueException(value) {
       this.value = value;
       this.name = 'noValueException';
    }

    function ensure(value) {
      if(value === undefined){
          throw new noValueException('No argument passed');       
      }else{ return value;}
    }

This will throw an exception to console if no argument is passed to function

Hey check this code it will definitely works

function ensure(value) {
    if (value === undefined) {
        throw new error("Undefined")
    } else {
        return value;
    }
}
try {
    console.log(ensure("Vikas"));
    console.log(ensure());
} catch (error) {
    console.log(error)
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM