Maison > interface Web > js tutoriel > le corps du texte

Comparaison entre ECMAScript ES et ECMAScript ES6)

Patricia Arquette
Libérer: 2024-10-05 12:17:30
original
764 Les gens l'ont consulté

Comparación entre ECMAScript ESy ECMAScript ES6)

1. Déclaration des variables

ES5 :

  • Utilisation de var pour déclarer des variables. Il a une fonction de portée et peut donner lieu à un levage.

var nombre = 'Maria';


Copier après la connexion

ES6 :

  • Introduit let et const qui ont block comme portée, améliorant la sécurité dans la gestion des variables.

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


Copier après la connexion

2. Fonctions des flèches

ES5 :

  • Les fonctions traditionnelles nécessitent plus de code et votre gestion de cela peut prêter à confusion.

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


Copier après la connexion

ES6 :

  • Les fonctions fléchées sont plus concises et ne changent pas le contexte.

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


Copier après la connexion

3. Chaînes de modèles

ES5 :

  • La concaténation des chaînes se fait à l'aide de l'opérateur .

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


Copier après la connexion

ES6 :

    Les
  • backticks (`) sont utilisés pour créer des modèles de chaînes, permettant l'interpolation.

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


Copier après la connexion

4. Paramètres par défaut

ES5 :

  • Il n'y avait pas de prise en charge des paramètres par défaut, ils ont donc été implémentés manuellement.

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


Copier après la connexion

ES6 :

  • Les paramètres par défaut sont déclarés directement dans la signature de la fonction.

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


Copier après la connexion

5. Cours

ES5 :

  • La notion de cours n'existait pas. Des fonctions et des prototypes de constructeur ont été utilisés.

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

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


Copier après la connexion

ES6 :

  • Les classes sont introduites, une syntaxe plus propre et plus proche des autres langages de programmation.

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

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


Copier après la connexion

6. Modules (Importation et Exportation)

ES5 :

  • Il n'y avait pas de support natif pour les modules. Des bibliothèques telles que RequireJS ou CommonJS ont été utilisées.

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


Copier après la connexion

ES6 :

  • Introduit la prise en charge native des modules avec importation et exportation.

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

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


Copier après la connexion

7. Promesses

ES5 :

  • Il n’y avait pas de gestion native des promesses. On comptait sur les rappels pour gérer l'asynchronie, ce qui entraînait des problèmes tels que "Callback Hell".

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

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


Copier après la connexion

ES6 :

    Des
  • promesses sont introduites pour gérer plus proprement les opérations asynchrones.

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

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


Copier après la connexion

8. Opérateur de repos et de propagation

ES5 :

  • Il n'existait aucun support permettant de combiner ou de séparer facilement des tableaux ou des objets. Des techniques telles que l'utilisation d'appliqués ont été utilisées.

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

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


Copier après la connexion

ES6 :

  • Les opérateurs rest et spread sont introduits pour faciliter la gestion des listes d'arguments et des tableaux.

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

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


Copier après la connexion

9. Déstructuration

ES5 :

  • L'extraction de valeurs à partir d'objets ou de tableaux était manuelle et sujette aux erreurs.

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


Copier après la connexion

ES6 :

    La
  • la déstructuration est introduite pour extraire les valeurs des objets et des tableaux de manière plus propre.

const { nombre, edad } = persona;


Copier après la connexion

Conclusion

ECMAScript 6 (ES6) apporte un grand nombre d'améliorations syntaxiques et fonctionnelles qui simplifient le développement en JavaScript, le rendant plus lisible, maintenable et efficace par rapport à ECMAScript 5 (ES5).

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!