我正在尝试在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)
答案 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')
}
};