2012-04-06 18 views
8

¿Cuál es la palabra clave reservada char utilizada en JavaScript (ya que la declaración de tipo no es necesaria), y especialmente, cuál es la sintaxis correcta para usarla (podría alguien darme un ejemplo completo adecuado)?¿Para qué se utiliza la palabra clave 'char'?

Porque escribir char c; arroja un error de interpretación que dice missing ; before statement, justo antes del c?

+0

El error que se obtiene al hacer 'char c' no es inesperado. Pruebe 'blah c' y obtendrá un error similar. Si bien su pregunta realmente tiene un contexto histórico en este caso (que es lo que lo hace interesante), no creo que sea la causa del error que recibe. – Reid

Respuesta

15

Hay una gran cantidad de palabras reservadas en JavaScript que están reservadas para uso "futuro". No necesariamente tienen un uso actual y una descripción.

MDN hace una lista de algunos de ellos que tienen esta condición especial "uso futuro" aquí: https://developer.mozilla.org/en/JavaScript/Reference/Reserved_Words (gracias a DCoder) y también se puede leer de ese artículo:

Los siguientes son reservados como futuros palabras clave por la especificación ECMAScript. No tienen ninguna funcionalidad especial en el presente, pero pueden serlo en el futuro, por lo que no pueden usarse como identificadores. Estas palabras clave no pueden usarse en modo estricto o no estricto.

Para ampliar un poco más por qué se considera una palabra clave reservada en algunos lugares y en algunos lugares no lo es. La especificación ECMAScript v3 incluyó char como palabra clave reservada, pero la especificación ECMAScript v5 (que comienza a ser la más común) no la incluye.

+2

Un enlace a la lista de dichas palabras reservadas no puede doler. https://developer.mozilla.org/en/JavaScript/Reference/Reserved_Words – DCoder

+0

Siento la necesidad de tener en cuenta que no todos los motores realmente se preocupan por usar char. A primera vista, veo que v8, JägerMonkey y Carakan no se quejan en absoluto cuando ejecutas algo como 'var char = 5;', por lo que realmente no lo tratan como una palabra reservada.La gran lista de "future-reserved-words" de Java fue descartada en ECMAScript 5, así que tengo la sensación de que IE (especialmente IE6/IE7) puede quejarse de 'var char = 5', aunque no tengo una copia de ello en esta computadora para probarlo. – Reid

+0

Ok, por lo que yo entiendo, mi editor Notepad ++ reconoció la palabra clave char, pero Firefox 11 y HTML 5 no, por lo que actúan como si no supieran la palabra, como dijo Reid. Por lo tanto, si no va a ser de utilidad, dejaré de lado ese problema y continuaré aprendiendo lo que funciona ... – MrBrody

4

Actualización:

También como @HoLyVieR señaló y se muestra en los comentarios a continuación, char palabra clave está reservado para uso futuro. See this link for more information (Gracias a @djmadscribbler).


There is no reserved keyword char in JavaScript, debe estar confundiéndolo con reserved keyword char of Java instead.

+0

ECMAScript 3 reservó todas las palabras reservadas de Java, y no todos los navegadores han implementado el estándar ECMAScript 5 como JavaScript. –

+0

En realidad, hay http://en.wikibooks.org/wiki/JavaScript/Reserved_Words HoLyVieR tiene razón, no se usa activamente ahora pero está reservado para uso futuro – djmadscribbler

+0

@djmadscribbler: Gracias por ese enlace. Actualizó la respuesta con detalles :) – Sarfraz

2

De acuerdo con la documentación de ECMAscript (http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf sección 7.6.1) char no es una palabra reservada en absoluto.

Supongo que si ves eso como una palabra reservada en alguna parte, entonces es una implementación específica.

http://jsfiddle.net/BCruP/

Editar: En la referencia era EMCAscript 5.

EMCAScript 3 (http://www.ecma-international.org/publications/files/ECMA-ST-ARCH/ECMA-262,%203rd%20edition,%20December%201999.pdf) Listas de documentación charlas como una palabra reservada de futuro, sin embargo, EMCAScript 5 parece haber dejado caer que fuera de la lista.

Cuestiones relacionadas