Я не думаю, что есть способ сделать это в одной строке с const
и получить точно такое же поведение, как у вас, то есть назначить data[0]
клавиатуре, если она ложная.
Если вы деструктурируете клавиатуру и задаете ей значение по умолчанию, например:
const { keyboard = data[0] } = this.state;
keyboard
будет установлено на data[0]
, только если оно определено в this.state
.И то же самое происходит с этим утверждением:
const { keyboard } = { keyboard: data[0], ...this.state };