Widziałem to w kawałku kodu JS:Co znaczy var {u, v, w} = x; znaczy w JavaScript?
var {status, headers, body} = res;
Co on robi?
Widziałem to w kawałku kodu JS:Co znaczy var {u, v, w} = x; znaczy w JavaScript?
var {status, headers, body} = res;
Co on robi?
miły sposób ustawić kilka zmiennych naraz z obiektu (otwarty Firebug i wklej to do konsoli)
var status=4;
var headers=4;
var body=4;
var res = {status:1, headers:2, body:3};
window.alert(status);
var {status, headers, body} = res;
window.alert(status);
Wygląda na próbę destrukturyzacji dla zmiennej o nazwie res
. Nigdy nie widziałem, że w konsoli JavaScript Chrome i sugeruje, że jest to błąd:
> var res = [ 1, 2, 3 ];
> var {status, headers, body} = res;
SyntaxError: Unexpected token {
konsoli Firebug na Firefox 4b12 nie skarżą się jednak, lecz stwierdzenie wydaje się nie mieć wpływu:
> var res = [ 1, 2, 3 ];
> var {status, headers, body} = res;
> status
undefined
> headers
undefined
> body
undefined
Czytam coś innego niż Twoja ekspresja: here. Może to pomóc u
var { a:x, b:y } = { a:7, b:8 };
Print(x); // prints: 7
Print(y); // prints: 8
Gdzie pan widzi? –
W jakimś kodzie źródłowym helma.org. –
Zobacz [Zniszczenie przypisania w JavaScript - przepełnienie stosu] (http://stackoverflow.com/questions/204444/destructuring-assignment-in-javascript). Zauważ, że JavaScript 1.7 (wszystko poza 1.5, naprawdę) jest skutecznie tylko w Mozilli. – ephemient