Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在未定义上使用/控制错误扩散运算符_Javascript_Ecmascript 6_Spread Syntax - Fatal编程技术网

Javascript 如何在未定义上使用/控制错误扩散运算符

Javascript 如何在未定义上使用/控制错误扩散运算符,javascript,ecmascript-6,spread-syntax,Javascript,Ecmascript 6,Spread Syntax,我定义了以下函数 const fn = (a) => (console.log(...a)); 当我使用参数调用该函数时,它工作得非常完美: fn(['asd','fgh']) // prints 'asd fgh' 但是,有没有办法用undefined来称呼它 fn() //Uncaught TypeError: undefined is not iterable(…) 我能想到的唯一解决办法是在函数的开头用 if (a === undefined) a = ''; 有什么方法可

我定义了以下函数

const fn = (a) => (console.log(...a));
当我使用参数调用该函数时,它工作得非常完美:

fn(['asd','fgh']) // prints 'asd fgh'
但是,有没有办法用undefined来称呼它

fn() //Uncaught TypeError: undefined is not iterable(…)
我能想到的唯一解决办法是在函数的开头用

if (a === undefined) a = '';

有什么方法可以使“…a”返回“”,例如?

您可以使用默认参数。若函数调用中未传递任何值,则可以设置每个参数的值

let fun = (a=3) => console.log(a);

fun(4); //4
fun(); //3

另一种选择是(如果必须是单行线):

fn=a=>a==[Symbol.iterator]=“函数”的未定义类型(&T)?控制台信息(…a):控制台信息(“”);
fn();//结果“”
fn(1);//结果“”

fn([1,2,3]);//结果1 2 3
const fn=(a)=>(console.log(a&&…a))未捕获的语法错误:意外标记。。。不工作
const fn=(a)=>(console.log(…a | |“”)非常好用,谢谢@人造丝:这传播了空字符串,这可能是相当不直观的。更好地使用
…a | |[]
@Bergi–同意。。。我只是粗略地考虑了一下预期结果..或者只是
fn=(a=[''])=>console.info(…a)
Yes-true我不想发布它,因为它是krizzus的答案