我目前正在使用react,我注意到行为可能会根据回调的使用方式而改变。(不确定这是否称为符号)。为了说明我的问题,让我们使用Array.map()
。
Array.map(el=> return el.name);
Array.map((el)=> return el.name);
Array.map((el)=> {return el.name});
Array.map(el=> {return el.name});
这四种情况正确吗?它们各自的预期行为是什么?有可以"安全"使用的吗?总是会出现语法错误?
当你省略(大括号)时,不需要写return,因为它会隐式返回右侧,当你使用括号时,你需要显式返回:
Array.map(el=> el.name); // Here you can omit return
Array.map(el=> { return el.name }); // But here you must explicitly return
关于输入参数(左),当你有一个参数你可以让它没有括号,但意味着您拥有多个参数包括括号。如果在编写typescript时,即使只有一个参数,也需要包含括号,因为必须指定类型(当类型没有隐式解析时)。