En el capítulo 7.7 (Punctators) de la especificación de ECMAScript (http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf) la cuadrícula de puntuadores parece tener un espacio en la fila 3 de la última columna. Este es, de hecho, el punctor del personaje espacial, ¿correcto?El carácter de espacio como un punctor en JavaScript
entiendo que los caracteres de espacio pueden insertarse opcionalmente entre fichas en el código JavaScript (con el fin de mejorar la legibilidad), sin embargo, me preguntaba dónde están realmente necesaria ...
Con el fin para averiguarlo, busqué caracteres espaciales en la versión minificada de la biblioteca jQuery. Estos son mis resultados:
Un espacio se requiere
... (ver el link debajo)
... entre una palabra clave y un identificador:
function x(){}
var x;
return x;
typeof x;
new X();
... entre dos palabras clave :
return false;
if(x){}else if(y){}else{}
Estos son los dos casos que identifiqué. ¿Hay algún otro caso?
Nota: Los caracteres espaciales dentro de los literales de cadena no se consideran tokens de punctuación (obviamente).
Actualización: Como resultado, un carácter de espacio es no requerido en esos casos. Por ejemplo, un token de palabra clave y un token de identificador deben separarse por algo, pero ese algo no tiene que ser un carácter de espacio. Podría ser cualquier elemento de entrada que no sea un token (WhiteSpace
, LineTerminator
o Comment
).
también ... Parece que el carácter de espacio es considerado como un elemento WhiteSpace
de entrada, y no un símbolo en absoluto, lo que significaría que que no es un Punctuator.
Para este tipo de preguntas y sus otros excelentes preguntas sobre el idioma, se encuentra el los clientes habituales en el grupo de noticias comp.lang.javascript (http://groups.google.com/group/comp.lang.javascript/topics) están muy bien informados.La multitud de Stack Overflow generalmente tiene una mentalidad más práctica. –
@Tim Puedo considerar recurrir al grupo de noticias, pero solo si no obtengo una buena respuesta aquí. Pero hasta ahora, estoy muy satisfecho con las respuestas ... Además, SO tiene un gran rango de páginas. Esta pregunta es el resultado del segundo puesto en una búsqueda en Google de "javascript punctuators" :) –