При вызове _validateParams, что делает необязательное свойство? - PullRequest
0 голосов
/ 18 августа 2010

При вызове чего-то подобного

var e = Function._validateParams(arguments, [
                { name: "target", type: Array, elementMayBeNull: true },
                { name: "index", type: Number, integer: true },
                { name: "deserializing", type: Boolean, optional: true }
            ]);

что означает необязательное свойство?Я ожидал, что это будет означать, что я могу полностью пропустить этот параметр, но получаю исключение, что параметр не может быть неопределенным.Кажется, вместо этого ищем mayBeNull.Так что же делает необязательный?

1 Ответ

0 голосов
/ 18 августа 2010

Похоже, что опция делает то, что я ожидал. Проблема заключалась в том, что у нас была функция A, у которой был необязательный параметр, а затем она вызывала функцию B, передавая этот параметр. Несмотря на то, что параметр был также необязательным в B, необязательный работает только в том случае, если вы пропустите параметр, и теперь мы фактически передавали параметр (значение которого было неопределено), вызывая, таким образом, исключение в функции B.

...