我正在查看react-jsonschema-form的代码。我遇到了以下几行,我无法理解。
var formData = (0, _utils.getDefaultFormState)(schema, props.formData, definitions);
第一个括号内的内容如何传递参数(schema,props.formData等)的函数?
答案 0 :(得分:1)
在该上下文中,第一个括号对是一个语句序列,其值是最后一个表达式的值。然后:
(0,_utils.getDefaultFormState)
返回函数objet _utils.getDefaultFormState
,然后使用以下参数调用它。
答案 1 :(得分:1)
我想这个问题的答案是,在第一个表达式(0,_utils.getDefaultFormState)
中,comma ,
运算符求值到最后一个参数并返回它。
因此,逗号运算符从左到右操作它的操作数,并返回表达式中最右边的 last 操作数。
但就使用函数及其返回值而言,这是不同的。
// sample from MDN.
function myFunc() {
var x = 0;
return (x += 1, x); // the same as return ++x;
}
正如我在评论中提到的那样:
第一个括号是自执行函数,它返回它作为_utils
对象函数的值,它接受3个或更多个参数。