Al leer la documentación en línea, me confunde cómo definir correctamente varias variables de JavaScript en una sola línea.
Si quiero condensar el siguiente código, ¿cuál es la forma "estricta" de JavaScript adecuada para definir múltiples variables de JavaScript en una sola línea?
var a = 0;
var b = 0;
Lo es:
var a = b = 0;
o
var a = var b = 0;
etc ...
javascript
HeatherK
fuente
fuente
var $cls = my.namespace.Foo = function(args){ ... }
Respuestas:
Desea confiar en las comas porque si confía en la construcción de asignación múltiple, se disparará en el pie en un momento u otro.
Un ejemplo sería:
Todos se refieren al mismo objeto en la memoria, no son "únicos" ya que cada vez que haces una referencia a un objeto (matriz, objeto literal, función) se pasa por referencia y no por valor. Entonces, si cambia solo una de esas variables y desea que actúen individualmente, no obtendrá lo que desea porque no son objetos individuales.
También hay una desventaja en la asignación múltiple, ya que las variables secundarias se vuelven globales y no desea filtrarse en el espacio de nombres global.
Es mejor usar comas y preferiblemente con muchos espacios en blanco para que sea legible:
fuente
ReferenceError
excepción ... En mi opinión, deben evitarse ...Usando es6 o nodo de Javascript, puede hacer lo siguiente:
Y si desea imprimir fácilmente múltiples variables en una sola línea, simplemente haga esto:
Esto es similar a la respuesta de @alex gray aquí, pero este ejemplo está en Javascript en lugar de CoffeeScript.
Tenga en cuenta que esto usa la asignación de desestructuración de matrices de Javascript
fuente
console.log(a,b,c,d)
en este caso? es más corto y da el mismo resultadoNo hay forma de hacerlo en una línea con asignación como valor.
hace b global. Una forma correcta (sin fugas de variables) es la ligeramente más larga:
que es útil en el caso:
fuente
¿Por qué no hacerlo en dos líneas?
La razón es para preservar el alcance local en declaraciones de variables, como esta:
dará lugar a las declaraciones implícitas de
b
,c
yd
sobre el alcance de la ventana.fuente
Aquí está el nuevo método ES6 de declaración de múltiples variables en una línea:
* El nombre de la variable y el índice de objeto deben ser los mismos
fuente
let { a, b } = { a: 0, b: 0 }
.Específicamente a lo que ha pedido el OP, si desea inicializar N variables con el mismo valor (por ejemplo
0
), puede usar la desestructuración de matriz y Array.fill para asignar a las variables una matriz de N0
s:fuente
tenga en cuenta que solo puede hacer esto con números y cadenas
Podrías hacerlo...
fuente