Red de conocimiento del abogados - Bufete de abogados - La diferencia entre ECMAScript y JavaScript

La diferencia entre ECMAScript y JavaScript

Existen diferencias obvias entre ECMAScript y JavaScript. ECMAScript es el estándar, mientras que JavaScript es la implementación.

JavaScript es un lenguaje de programación de propósito general que sigue la especificación ECMAScript. Y es una versión bifurcada del lenguaje ECMAScript. ECMAScript es un lenguaje de programación de scripts estandarizado por Ecma International (anteriormente Asociación Europea de Fabricantes de Computadoras) a través de ECMA-262. Este lenguaje se usa ampliamente en la World Wide Web. A menudo se le llama JavaScript o JScript, pero en realidad los dos últimos son implementaciones y extensiones del estándar ECMA-262.

Las características principales de ECMAScript son:

En ECMA-262, el cumplimiento de ECMAScript está claramente definido. Un lenguaje de secuencias de comandos debe cumplir con los siguientes cuatro principios básicos:

1. Una implementación conforme debe admitir todos los "tipos, valores, objetos, propiedades, funciones y lenguajes de programación y semántica como se describe en ECMA-262". ";

2. Las implementaciones compatibles deben admitir el estándar de caracteres Unicode (UCS);

3. Las implementaciones compatibles pueden agregar "tipos, valores, objetos, propiedades y funciones adicionales". ECMA-262 trata estas adiciones como nuevos objetos o nuevas propiedades de objetos que no están especificados en la especificación;

4 Las implementaciones compatibles pueden admitir "sintaxis de programas y expresiones regulares" no definidas en ECMA-262 ".

Las características principales de JavaScript son:

Consta de tres partes: ECMAScript, BOM y DOM

1. Núcleo - ECMAScript: proporciona funciones básicas del lenguaje<. /p>

p>

2. Modelo de objetos de documento - DOM: Proporciona métodos e interfaces para acceder y manipular contenido web. Una interfaz de programación de aplicaciones (API) para XML pero extendida para HTML. DOM asigna la página a una estructura de nodos de múltiples capas. ¿Por qué utilizar DOM? Netscape y Microsoft tienen cada uno sus propias opiniones sobre el desarrollo de DHTML. Para evitar la separación entre los dos poderes y la incompatibilidad de los navegadores, y para mantener la naturaleza multiplataforma de la Web, surgió DOM.

DOM nivel 1: Consta de dos partes: DOM Core y DOM HTML. DOM Core especifica cómo mapear estructuras de documentos basadas en XML. DOM HTML expande DOM Core y agrega objetos y métodos para HTML.

Nivel DOM2: según el DOM original, los eventos del mouse y de la interfaz de usuario, el alcance y el recorrido (métodos para iterar documentos DOM) se amplían y se agrega soporte para CSS a través de la interfaz de objeto DOM1. Core también se ha ampliado para admitir espacios de nombres XML. Se introducen nuevos módulos: Vistas DOM: define una interfaz para rastrear diferentes vistas de documentos; Eventos DOM: define una interfaz para eventos y manejo de eventos; define una interfaz para aplicar estilos a elementos basados ​​en CSS; la interfaz para recorrer y manipular el árbol de documentos.

DOM Nivel 3: Se introdujo un método para cargar y guardar documentos de forma unificada, definido en el módulo DOM Load and Save (DOM Load and Save), y se agregó un nuevo método para validar documentos, en DOM Validation; Módulo (Validación DOM) definido. DOM Core se ha ampliado para admitir la especificación XML 1.0, que incluye XML Infoset, XPath y XML Base.

3. Modelo de objetos del navegador: BOM: proporciona métodos e interfaces para interactuar con el navegador.

BOM puede acceder y operar la ventana del navegador, y usar BOM para controlar lo que muestra el navegador. fuera de la página. HTML5 se compromete a escribir muchas funciones de BOM en especificaciones formales.

Básicamente, la BOM solo maneja ventanas y marcos del navegador, pero es habitual contar todas las extensiones de JavaScript para los navegadores como parte de la BOM, incluida la funcionalidad para abrir una nueva ventana del navegador y la funcionalidad para mover, hacer zoom y cerrar el navegador. windows El objeto de navegador que proporciona detalles del navegador, el objeto de ubicación que proporciona información detallada sobre la página cargada por el navegador, el objeto de pantalla que proporciona información detallada sobre la resolución del monitor del usuario, soporte para cookies y objetos personalizados como XMLHttpRequest y ActiveXObject de IE. . BOM se compone de cinco objetos: navegador, historial, pantalla, ubicación y documento.

Expansión complementaria:

Motor JavaScript

Un intérprete que comprende y ejecuta código JavaScript

Habrá un motor JavaScript en el navegador , como Chrome tiene V8, Firefox tiene SpiderMonkey y Edge tiene Chakra. Los motores de JavaScript procesan el código JavaScript de manera similar a como los humanos procesan el lenguaje.

Las personas procesan los lenguajes de manera diferente, por lo que no es difícil comprender las diferencias en cómo los navegadores procesan JavaScript.

Diferencias en el rendimiento del navegador

Suponiendo que ambas personas pueden entender el comando "saltar", una de ellas puede responder más rápido porque puede entender y procesar "saltar" más rápido. Asimismo, ambos navegadores pueden entender el código JavaScript, pero un navegador será más rápido porque su motor JavaScript está implementado de una manera más eficiente.

Diferencias en el soporte del navegador

Todos sabemos que diferentes personas tienen diferente comprensión y uso del mismo idioma. Por ejemplo, muchas personas usan inglés y algunas conocen palabras, frases y gramática que otras no. Lo mismo ocurre con los navegadores. Aunque todos los motores JavaScript de los navegadores entienden JavaScript, algunos navegadores tienen mejores capacidades de comprensión y su soporte para JavaScript es diferente.