Я хочу, чтобы все мои функции принимали один параметр объекта, поэтому я могу передать ему список именованных аргументов, не зависящих от порядка.Проверка параметров объекта функции javascript
, например:
function A(param){
this.first = param.first ? param.first : null;
this.second = param.second ? param.second : null;
}
Так что я могу сделать объект, передавая что-либо, и если объект не имеет первую или вторую собственность, то объект до сих пор получает сделанный со всеми его свойствами установлено null или другое значение по умолчанию.
Если я хочу создать объект по умолчанию, я хотел бы просто вызвать новый A() без какого-либо объекта параметра, но затем он выдает ошибку, потому что я пытаюсь незаконно получить доступ к свойству «undefined», так что конструктор ничего не делает.
Я мог бы сделать это следующим образом:
function A(param){
if(typeof param ==== 'undefined')param = {};
this.first = param.first ? param.first : null;
this.second = param.second ? param.second : null;
}
Но если я хочу, чтобы все мои функции принимают один объект пар, мне нужно будет включить эту строку в каждом определении функции.
Есть ли лучший способ достичь этого результата или если вы не работаете с прототипом функции, чтобы все функции автоматически получали эту проверку, чтобы убедиться, что параметр присутствует или хотя бы инициализирован, поэтому код не падает при попытке доступа к свойствам «undefined».
Спасибо.
Я думаю, вы неверно истолковали вопрос ОП. –
@AaditMShah: Почему вы так думаете? – Guffa
Нет причин. Наверное, я ошибся. Сожалею. –