2015-11-11 6 views
1

Как я могу разрушить параметр по умолчанию?Как деструктурировать значение по умолчанию в ecmascript 6

foo function({data, someOptional = 'default'}){ 
} 

Как я могу использовать эти функции ES6?

+1

'{data, someOptional = 'default'}' shoukl отлично работает. Что с этим не так? –

+0

someOptional всегда получает 'default' –

+0

Вот как это сделать. Если это не сработает, среда, в которой работает код, может неправильно реализовать деструктурирование. –

ответ

0

Вы упомянули о том, что звонки могут быть:

  • foo({data:[123]})
  • foo({filterBy:'else'})

Во втором, вы не передаете data, который не является обязательным, как вы объявлены вы - функция.

Если data также является необязательным, вы должны объявить функцию таким образом (с указанием data «s значение по умолчанию):

function foo({data=[], someOptional='default'}){} 

Таким образом, вы будете иметь возможность сделать звонки вы упомянули.

Хотя, если вы не wan't передать любой аргумент вообще и полагаться на параметры по умолчанию, вы должны объявить его таким образом:

function foo({data=[], someOptional='default'} = {}){} 

Таким образом, вы даже способный сделать такой вид: foo()

 Смежные вопросы

  • Нет связанных вопросов^_^