JavaScript let if else语句args

时间:2018-11-14 01:51:37

标签: javascript let

我正在尝试在JavaScript中定义一个let,以便如果没有arg[2],那么它将仅使用arg[1],但是如果有arg[1]arg[2]它将同时使用它们。

ie. command: !hello world
then: let cmd = arg[1]

而且

command: !hello world one
then: let cmd = arg[1] + " " + arg[2]

我有这个,但是只有在arg[2]存在的情况下才有效,而在仅提供arg[1]的情况下不可行:

let cmd = args[1] + " " + args[2];

无论如何,您是否可以指定一个arg来通过空格?所以!hello world one,将会是arg[1] arg[2] (arg[2]被:world world)

3 个答案:

答案 0 :(得分:0)

我通常会做类似的事情:

const myFunction = (argA, argB) => {
    if (argB === undefined) argB = "";
    console.log(argA + " " + argB);
    return "" + argA + " " + argB
}

答案 1 :(得分:0)

您的意思是:

let test = arg[1] && arg[2] ? arg[1]+' '+arg[1] : arg[1];

答案 2 :(得分:0)

如果您使用的是ES6,则可以像这样使用rest operator

const myFunction = (...args) => {
 console.log(args[0])   
}

如果您不使用粗箭头语法,则可以参考arguments关键字:

    function func1(a, b, c) {
      if(arguments && arguments.length == 2){
          console.log('do a thing')
        }else{
          console.log('do a different thing')
        }
      };