¿Cómo sé qué versión de Javascript estoy usando?

Respuestas:

42

Wikipedia (o más bien, la comunidad en Wikipedia) mantiene una lista bastante actualizada aquí .

  • La mayoría de los navegadores están en 1.5 (aunque tienen características de versiones posteriores)
  • Mozilla progresa con cada lanzamiento de puntos (mantienen el estándar, por lo que no es sorprendente)
  • Firefox 4 está en JavaScript 1.8.5
  • El otro gran fuera de lo común es IE9: implementa ECMAScript 5, pero no implementa todas las características de JavaScript 1.8.5 (no estoy seguro de cómo llaman a esta versión de JScript, motor con nombre en código Chakra , todavía ).
Nick Craver
fuente
3
Firefox 4 (JavaScript (TM) 1.8.5) e IE9 (JScript 9) implementan muchas características de ECMAScript 5 , pero considere, por ejemplo, JavaScript (TM) 1.8 , está lleno de características no estándar , que no están disponibles en IE9 (y no forman parte de la especificación ES5), son extensiones de Mozilla .
CMS
@CMS: excelente punto sobre los bits que no implementa, traté de mejorar lo anterior dado que esto ha subido a la cima.
Nick Craver
2
Gracias, IMO es un punto importante para enfatizar que JScript! == JavaScript (TM) y que los números de versión JS de Mozilla son casi insignificantes para otras implementaciones ...
CMS
1
Por lo que vale, parece que la "lista bastante buena actualizada" de Wikipedia dejó de serlo en el momento en que se proporcionó esta respuesta. No parece haber sido actualizado desde ~ 2010 ...
NetXpert
82

Haga clic en este enlace para ver qué versión está usando su NAVEGADOR: http://jsfiddle.net/Ac6CT/

Debería poder filtrar utilizando etiquetas de script para cada versión de JS.

<script type="text/javascript">
  var jsver = 1.0;
</script>
<script language="Javascript1.1">
  jsver = 1.1;
</script>
<script language="Javascript1.2">
  jsver = 1.2;
</script>
<script language="Javascript1.3">
  jsver = 1.3;
</script>
<script language="Javascript1.4">
  jsver = 1.4;
</script>
<script language="Javascript1.5">
  jsver = 1.5;
</script>
<script language="Javascript1.6">
  jsver = 1.6;
</script>
<script language="Javascript1.7">
  jsver = 1.7;
</script>
<script language="Javascript1.8">
  jsver = 1.8;
</script>
<script language="Javascript1.9">
  jsver = 1.9;
</script>

<script type="text/javascript">
  alert(jsver);
</script>

Mis informes de Chrome 1.7

Robado descaradamente de: http://javascript.about.com/library/bljver.htm

Alex Wayne
fuente
5
¿Qué pasa con los lanzamientos menores? por ejemplo, 1.8.1, 1.8.2, 1.8.3 ... ya ve cómo esto se volvería tedioso.
Nick Craver
12
Sería mejor que utilizara la detección de características.
jwueller
2
1.8.1, por ejemplo JSON, soporte nativo agregado , 1.8.5 depende del cumplimiento de ECMAScript 5 ... estos son hitos importantes :)
Nick Craver
3
Entonces, esto me dijo que Chrome era 1.7, pero que tiene soporte JSON nativo. Quizás la respuesta correcta a esta pregunta es más que la versión de javascript en un navegador no necesariamente indica mucha información útil.
Alex Wayne
1
Mozilla admite javascript hasta la versión 1.8 pero la sintaxis es diferente:<script type="application/javascript;version=1.7"/>
Yukulélé
17

En Chrome, puede encontrar fácilmente no solo su versión JS, sino también una versión flash. Todo lo que necesita es escribir chrome://version/una línea de comando y obtendrá algo como esto:

ingrese la descripción de la imagen aquí

Salvador Dalí
fuente
9
¡jaja! Esa no es la versión de JS sino el número de versión del motor V8. Además, hoy, en 2015, se han mudado a Blink como su motor preferido
Christian M. Raymonds
@ ChristianM.Raymonds entonces ¿por qué mi Chrome V 46.0.2490.86de noviembre de 2015 todavía se muestra V8 4.6.85.31?
Salvador Dali
@Savador Dali OP estaba preguntando sobre la versión JS: lea la versión en lenguaje JavaScript que entiende el motor y no la versión del motor. Cualquier cosa mayor que Chrome 28 usa Blink. Por favor, investigue.
Christian M. Raymonds
1
@ SalvadorDali- Esa es la versión del motor V8 (un motor Javascript) y NO la versión Javascript.
nanosoft
4
@ ChristianM.Raymonds - Blink y V8 son dos cosas muy diferentes. V8 es el motor JS y Blink es el motor web y Chrome usa ambos. Son dos motores separados para dos cosas muy diferentes y el uso de uno no es mutuamente excluyente del otro de ninguna manera.
nanosoft
6

En lugar de encontrar qué versión está utilizando, puede reformular su pregunta como "a qué versión del script ECMA se ajusta el motor JavaScript / JSscript de mi navegador".

Para IE:

alert(@_jscript_version);      //IE

Consulte la respuesta de Squeegy para versiones que no son de IE :)

Robin Maben
fuente
3
¿Squeegy cambió los nombres de usuario o eliminó su respuesta? Aquí no hay respuestas de un usuario llamado Squeegy.
Peter Hansen
@PeterHansen: Vaya, debería haber vinculado a la respuesta :)
Robin Maben
y los navegadores hacen eso solo parcialmente, puede encontrar el 97% de ES6, el 39% de ES7, kangax.github.io/compat-table/es6 , e incluso estas tablas no son del todo ciertas.
prosti
Esto solo funciona si Conditional Compilationestá encendido, por lo que es posible que no funcione al 100% si tiene un administrador de sistemas que cree en la seguridad "migaja de pan"
GoldBishop
1

Todos los navegadores actuales utilizan al menos la versión 1.5:
http://en.wikipedia.org/wiki/ECMAScript#Dialect

Con respecto a su sitio de tutoriales, la información allí parece estar extremadamente desactualizada , le ruego que se dirija a MDC y lea su Guía:
https://developer.mozilla.org/en/JavaScript/Guide

Es posible que aún desee estar atento a las funciones que requieren una versión 1.6o superior, ya que esto podría ocasionar algunos problemas a Internet Explorer.

Ivo Wetzel
fuente
"Su navegador no está actualizado. Actualice a un nuevo navegador". ... Lista de navegadores aquí ...
1,21 gigavatios
0

JavaScript 1.2 se introdujo con Netscape Navigator 4 en 1997. Ese número de versión solo tuvo importancia para los navegadores Netscape. Por ejemplo, la implementación de Microsoft (como se usa en Internet Explorer) se llama JScript y tiene su propia numeración de versión que no guarda relación con la numeración de Netscape.

NickFitz
fuente