我正在審閱react-jsonschema-form的代碼。我遇到了以下幾行,我無法理解。無法理解JavaScript語法
var formData = (0, _utils.getDefaultFormState)(schema, props.formData, definitions);
第一個括號內的內容如何傳遞參數(schema,props.formData等)的函數?
我正在審閱react-jsonschema-form的代碼。我遇到了以下幾行,我無法理解。無法理解JavaScript語法
var formData = (0, _utils.getDefaultFormState)(schema, props.formData, definitions);
第一個括號內的內容如何傳遞參數(schema,props.formData等)的函數?
我想這個問題的答案是,在第一個表達式(0,_utils.getDefaultFormState)
comma,
運算符評估到最後一個參數並返回它。
因此,逗號運算符對其操作數從左到右進行操作,並返回最後一個表達式中最右側的被計算操作數。
但是,在使用函數及其返回值方面有所不同。
// sample from MDN.
function myFunc() {
var x = 0;
return (x += 1, x); // the same as return ++x;
}
正如我在評論中提及:
第一托架是自執行功能,並返回它的值作爲_utils
對象,它接受3個或多個參數的函數。
在這種情況下,第一個括號對是一個語句序列,其值是最後一個表達式的值。然後:
(0,_utils.getDefaultFormState)
返回函數objet _utils.getDefaultFormState
,然後使用以下參數調用該函數。
第一個大括號'()'返回一個接受3個參數的函數。 – Jai
表達式'(n0,n1,...,n)'計算爲'n',所以在你的情況下,函數'_utils.getDefaultFormState'。至於爲什麼這是使用,我不知道 – Phil
菲爾你的評論將是值得的,作爲它自己的權利的答案。 –