Как разрушить объект для уже определенной переменной?

Ниже приведена синтаксическая ошибка:

let source,
    screenings,
    size;

source = {
    screenings: 'a',
    size: 'b'
};

{
    screenings,
    size
} = source;

Ожидаемый результат:

screenings should be equal to 'a'
size should be equal to 'b'

Ответ 1

Вам нужно использовать назначение без синтаксиса объявления:

({
    screenings,
    size
} = source);

Пример Babel REPL

Из связанных документов:

(..) вокруг оператора присваивания требуется синтаксис при использовании назначения деструкции объектного литерала без объявления

И, очевидно, вам нужно использовать это, так как вы не можете переопределить переменную let. Если вы используете var, вы можете просто обновить var { screenings, size } = source;