javascript - Hvordan destrukturere et objekt til en allerede definert variabel?


Følgende gir en syntaksfeil:

let source,
    screenings,
    size;

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

{
    screenings,
    size
} = source;

Forventet resultat:

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

Svar #1

Du må bruke tildeling separat fra deklarasjonssyntaks:

({
    screenings,
    size
} = source);

Babel REPL-eksempel

Fra de tilknyttede dokumentene:

( .. ) rundt tildelingssetningen er nødvendig syntaks når man bruker objekt-litteral destructuring-tildeling uten en deklarasjon

Og åpenbart må du bruke dette siden du ikke kan erklære en let-variabel på nytt. Hvis du brukte var, kunne du bare erklære på nytt var { screenings, size }=source;

Relaterte artikler