Heim > Web-Frontend > js-Tutorial > Hauptteil

Vergleich zwischen ECMAScript ES und ECMAScript ES6)

Patricia Arquette
Freigeben: 2024-10-05 12:17:30
Original
764 Leute haben es durchsucht

Comparación entre ECMAScript ESy ECMAScript ES6)

1. Deklaration von Variablen

ES5:

  • Verwendung von var zum Deklarieren von Variablen. Es hat eine Funktion als Zielfernrohr und kann zu einem Heben führen.

var nombre = 'Maria';


Nach dem Login kopieren

ES6:

  • Führt let und const ein, die block als Gültigkeitsbereich haben, und verbessert so die Sicherheit bei der Handhabung von Variablen.

let nombre = 'Maria';  // Variable que puede cambiar
const edad = 30;       // Constante, no puede cambiar


Nach dem Login kopieren

2. Pfeilfunktionen

ES5:

  • Herkömmliche Funktionen erfordern mehr Code und die Handhabung kann verwirrend sein.

var suma = function(a, b) {
  return a + b;
};


Nach dem Login kopieren

ES6:

  • Pfeilfunktionen sind prägnanter und verändern den Kontext nicht.

const suma = (a, b) => a + b;


Nach dem Login kopieren

3. Vorlagenzeichenfolgen

ES5:

  • Die Zeichenfolgenverkettung erfolgt mit dem Operator .

var saludo = 'Hola ' + nombre + ', tienes ' + edad + ' años.';


Nach dem Login kopieren

ES6:

  • Backticks (`) werden zum Erstellen von String-Vorlagen verwendet, die eine Interpolation ermöglichen.

const saludo = `Hola ${nombre}, tienes ${edad} años.`;


Nach dem Login kopieren

4. Standardparameter

ES5:

  • Es gab keine Unterstützung für Standardparameter, daher wurde es manuell implementiert.

function saludo(nombre) {
  nombre = nombre || 'Invitado';
  return 'Hola ' + nombre;
}


Nach dem Login kopieren

ES6:

  • Die Standardparameter werden direkt in der Funktionssignatur deklariert.

function saludo(nombre = 'Invitado') {
  return `Hola ${nombre}`;
}


Nach dem Login kopieren

5. Klassen

ES5:

  • Das Konzept der Klassen existierte nicht. Es wurden Builder-Funktionen und Prototypen verwendet.

function Persona(nombre, edad) {
  this.nombre = nombre;
  this.edad = edad;
}

Persona.prototype.saludar = function() {
  return 'Hola, soy ' + this.nombre;
};


Nach dem Login kopieren

ES6:

  • Die Klassen werden eingeführt, eine sauberere Syntax, die anderen Programmiersprachen näher kommt.

class Persona {
  constructor(nombre, edad) {
    this.nombre = nombre;
    this.edad = edad;
  }

  saludar() {
    return `Hola, soy ${this.nombre}`;
  }
}


Nach dem Login kopieren

6. Module (Import und Export)

ES5:

  • Es gab keine native Unterstützung für Module. Es wurden Bibliotheken wie RequireJS oder CommonJS verwendet.

// CommonJS
var modulo = require('modulo');
module.exports = modulo;


Nach dem Login kopieren

ES6:

  • Führt native Unterstützung für Module mit Import und Export ein.

// Exportar
export const suma = (a, b) => a + b;

// Importar
import { suma } from './modulo';


Nach dem Login kopieren

7. Versprechen

ES5:

  • Es gab keine native Versprechensverarbeitung. Man vertraute auf Rückrufe, um Asynchronität zu bewältigen, was zu Problemen wie der „Callback-Hölle“ führte.

function hacerAlgo(callback) {
  setTimeout(function() {
    callback('Hecho');
  }, 1000);
}

hacerAlgo(function(resultado) {
  console.log(resultado);
});


Nach dem Login kopieren

ES6:

  • Versprechen werden eingeführt, um asynchrone Vorgänge sauberer abzuwickeln.

const hacerAlgo = () => {
  return new Promise((resolve, reject) => {
    setTimeout(() => resolve('Hecho'), 1000);
  });
};

hacerAlgo().then(resultado => console.log(resultado));


Nach dem Login kopieren

8. Ruhe- und Ausbreitungsoperator

ES5:

  • Es gab keine Unterstützung für das einfache Kombinieren oder Trennen von Arrays oder Objekten. Dabei kamen Techniken wie der Einsatz von Apply zum Einsatz.

function sumar(a, b, c) {
  return a + b + c;
}

var numeros = [1, 2, 3];
sumar.apply(null, numeros);


Nach dem Login kopieren

ES6:

  • Die Operatoren Rest und Spread werden zur einfacheren Handhabung von Argumentlisten und Arrays eingeführt.

// Spread
const numeros = [1, 2, 3];
const resultado = sumar(...numeros);

// Rest
function sumar(...numeros) {
  return numeros.reduce((a, b) => a + b, 0);
}


Nach dem Login kopieren

9. Destrukturierung

ES5:

  • Das Extrahieren von Werten aus Objekten oder Arrays war manuell und fehleranfällig.

var persona = { nombre: 'Maria', edad: 30 };
var nombre = persona.nombre;
var edad = persona.edad;


Nach dem Login kopieren

ES6:

  • Destrukturierung wird eingeführt, um Werte auf sauberere Weise aus Objekten und Arrays zu extrahieren.

const { nombre, edad } = persona;


Nach dem Login kopieren

Abschluss

ECMAScript 6 (ES6) bringt eine Vielzahl syntaktischer und funktionaler Verbesserungen mit sich, die die Entwicklung in JavaScript vereinfachen und es im Vergleich zu ECMAScript 5 (ES5) lesbarer, wartbarer und effizienter machen.

Das obige ist der detaillierte Inhalt vonVergleich zwischen ECMAScript ES und ECMAScript ES6). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!