2011-03-04 14 views
6

he visto esto en una pieza de código JS:¿Qué significa var {u, v, w} = x; significa en Javascript?

var {status, headers, body} = res; 

¿Qué hacer?

+1

¿Dónde viste eso? –

+0

En algún código fuente de helma.org. –

+2

Ver [Asignación de desestructuración en JavaScript - Desbordamiento de pila] (http://stackoverflow.com/questions/204444/destructuring-assignment-in-javascript). Tenga en cuenta que Javascript 1.7 (todo más allá de 1.5, en realidad) es efectivamente solo de Mozilla. – ephemient

Respuesta

1

buen método para establecer algunas variables a la vez de un objeto (firebug abierta y pega este a la consola)

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); 
0

Parece un intento de desestructuración de una variable llamada res. Nunca he visto que en Javascript y la consola de Chrome sugiere que es un error:

> var res = [ 1, 2, 3 ]; 
> var {status, headers, body} = res; 
SyntaxError: Unexpected token { 

consola de Firebug en Firefox 4b12 no se queja, pero sin embargo la declaración parece tener ningún efecto:

> var res = [ 1, 2, 3 ]; 
> var {status, headers, body} = res; 
> status 
undefined 
> headers 
undefined 
> body 
undefined 
1

Leí algo diferente de tu expresión here. esto puede ayudar u

var { a:x, b:y } = { a:7, b:8 }; 
Print(x); // prints: 7 
Print(y); // prints: 8