¿Por qué puedo escribir:

var x = 5;
console.log(x);
5

Pero cuando escribo:

var n = a;
console.log(n);
Uncaught ReferenceError: a is not defined
-1
Kim 10 dic. 2015 a las 15:44

5 respuestas

La mejor respuesta

Bueno, no tienes una variable a. Configúralo de antemano, así:

var a = 10;
var n = a;  // n is now also 10

Si desea una cadena de caracteres, encierre los caracteres entre comillas:

var n = "a";  // n is now a character string, not a number
3
phihag 10 dic. 2015 a las 12:46

Porque está tratando de imprimir put de n cuyo valor de referencia de a que es una variable indefinida.

Recibes un error en lugar de indefinido porque javascript no te permite asignar variables no declaradas

2
asdf_enel_hak 10 dic. 2015 a las 12:48

Para imprimir una en la consola,

var n = "a";
console.log(n);

Imprimir alguna otra variable

var a = 10;
var n = a;
console.log(n);
2
Niranjan N Raju 10 dic. 2015 a las 12:47

Porque a no es una variable definida como el error lo indica claramente.

Si desea establecer n en el carácter 'a', debe ponerlo entre comillas simples o dobles.

n = 'a';

O

n = "a";
2
CoderDennis 10 dic. 2015 a las 12:47

Cuando escribes

var n = a;

Entonces significa establecer el valor de n el mismo valor que variable a . Pero aún no ha definido a, por lo que recibe un mensaje de error.

Creo que te refieres a la cadena "a", así que usa eso:

var n = "a";
console.log(n);
2
RemcoGerlich 10 dic. 2015 a las 12:46