ECMAScript 2022

  • Προηγούμενη σελίδα JS 2021
  • Επόμενη σελίδα JS 2023

Αριθμός έκδοσης του JavaScript

Παλιές εκδόσεις ECMAScript ονομάζονται με αριθμούς: ES5 και ES6.

Από το 2016, οι εκδόσεις ονομάζονται με το έτος: ES2016, 2018, 2020, 2022.

Νέες λειτουργίες της ES2022

Προειδοποίηση:

Αυτές οι λειτουργίες είναι σχετικά νέες.

Παλιότεροι περιηγητές μπορεί να χρειάζονται υποκατάσταση κώδικα (Polyfill).

JavaScript Array at()

Η ES2022 εισήγαγε τη μέθοδο πίνακα at():

Παράδειγμα 1

Αποκτήστε το τρίτο στοιχείο του πίνακα fruits:

const fruits = ["Banana", "Orange", "Apple", "Mango"];
let fruit = fruits.at(2);

Δοκιμάστε το προσωπικά

Παράδειγμα 2

Αποκτήστε το τρίτο στοιχείο του πίνακα fruits:

const fruits = ["Banana", "Orange", "Apple", "Mango"];
let fruit = fruits[2];

Δοκιμάστε το προσωπικά

at() Η μέθοδος επιστρέφει το στοιχείο που αντιστοιχεί στο καθορισμένο index από τον πίνακα.

at() Μέθοδος [] Τα αποτελέσματα είναι τα ίδια.

Από τον Μάρτιο του 2022, η υποστήριξη για όλους τους σύγχρονους προγραμματιστές περιηγητών είναι διαθέσιμη: at() Μέθοδος:

Chrome Edge Firefox Safari Opera
Chrome 92 Edge 92 Firefox 90 Safari 15.4 Opera 78
Απρίλιος 2021 Ιούλιος 2021 Ιούλιος 2021 Μάρτιος 2022 Αύγουστος 2021

Σημείωση:

Πολλές γλώσσες επιτρέπουν τη χρήση αρνητικών索引 (όπως [-1]) Πρόσβαση στο τελικό στοιχείο αντικειμένου/πίνακα/συμβολοσειράς.

Αυτό δεν είναι δυνατό στο JavaScript επειδή [] Χρησιμοποιείται για την πρόσβαση σε δομές δεδομένων όπως πίνακες και αντικείμενα. obj[-1] αναφέρεται στη τιμή του κλειδιού -1, όχι στη τελευταία ιδιότητα του αντικειμένου.

at() Η μέθοδος εισήχθη στην ES2022 για να λύσει αυτό το πρόβλημα.

JavaScript String at()

Η ES2022 εισήγαγε τη μέθοδο συμβολοσειράς at():

Παράδειγμα 1

Αποκτήστε το τρίτο γράμμα της αλφαβητικής συμβολοσειράς name:

const name = "W3Schools";
let letter = name.at(2);

Δοκιμάστε το προσωπικά

Παράδειγμα 2

Αποκτήστε το τρίτο γράμμα της αλφαβητικής συμβολοσειράς name:

const name = "W3Schools";
let letter = name[2];

Δοκιμάστε το προσωπικά

at() Μέθοδος που επιστρέφει τον χαρακτήρα στην καθορισμένη θέση από τη συμβολοσειρά.

at() Μέθοδος [] Τα αποτελέσματα είναι τα ίδια.

Από τον Μάρτιο του 2022, η υποστήριξη για όλους τους σύγχρονους προγραμματιστές περιηγητών είναι διαθέσιμη: at() Μέθοδος:

Chrome Edge Firefox Safari Opera
Chrome 92 Edge 92 Firefox 90 Safari 15.4 Opera 78
Απρίλιος 2021 Ιούλιος 2021 Ιούλιος 2021 Μάρτιος 2022 Αύγουστος 2021

Αναδιατύπωση d του RegExp

Το ES2022 προσθέτει /d Αναδιατύπωση, που χρησιμοποιείται για να δείξει την αρχή και το τέλος της ταιριάσης.

πρότυπο

let text = "aaaabb";
let result = text.match(/(aa)(bb)/d);

Δοκιμάστε το προσωπικά

Οι αναδιατύπωση του RegExp χρησιμοποιούνται για να καθορίσουν την ανυπομονησία κεφαλαίων και πεζών, καθώς και άλλες καθολικές αναζητήσεις:

Αναδιατύπωση Περιγραφή Δοκιμάστε το
g Εκτέλεση καθολικού ταιριάσματος (ζητά όλες τις ταιριάσεις). Δοκιμάστε το
i Εκτέλεση ταιριάσματος χωρίς διαφοροποίηση κεφαλαίων και πεζών. Δοκιμάστε το
d Εκτέλεση ταιριάσματος υποσυμβολοσειράς (νέα δυνατότητα του ES2022). Δοκιμάστε το
m Εκτέλεση πολλαπλών γραμμών ταιριάσματος. Δοκιμάστε το

Object.hasOwn()

Το ES2022 παρέχει μια ασφαλή μέθοδο για τον έλεγχο αν μια ιδιότητα είναι αυτοπάθος του αντικειμένου.

Object.hasOwn() παρόμοια με Object.prototype.hasOwnPropertyαλλά υποστηρίζει όλους τους τύπους αντικειμένων.

πρότυπο

Object.hasOwn(myObject, age)

Δοκιμάστε το προσωπικά

Αιτία Σφάλματος

Το ES2022 επιτρέπει τη σήμανση της根本原因 της σφάλματος μέσω της error.cause.

πρότυπο

try { 
  connectData(); 
} 
  throw new Error("Connecting failed.", { cause: err }); 
}

Δοκιμάστε το προσωπικά

await import JavaScript

Τώρα οι μοντέρνες μονάδες JavaScript μπορούν να περιμένουν τα αναγκαία για εισαγωγή πόρων πριν από την εκτέλεση:

import {myData} from './myData.js';
const data = await myData();

Δηλώσεις πεδίων κλάσης JavaScript

class Hello {
  counter = 0; // πεδίο κλάσης
}
const myClass = new Hello();
let x = myClass.counter;

Από τον Απρίλιο του 2021, η υποστήριξη για τις δηλώσεις πεδίων κλάσης είναι διαθέσιμη σε όλους τους σύγχρονους προγραμματιστές περιηγητών:

Chrome Edge Firefox Safari Opera
Chrome 72 Edge 79 Firefox 69 Safari 14.1 Opera 60
Ιανουάριος 2019 Ιανουάριος 2020 Σεπτέμβριος 2019 Απρίλιος 2021 Ιανουάριος 2020

JavaScript ιδιωτικές μεθόδους και πεδία

class Hello {
  #counter = 0;  // ιδιωτικό πεδίο
  #myMethod() {} // ιδιωτική μέθοδος
}
const myClass = new Hello();
let x = myClass.#counter; // λάθος
myClass.#myMethod();      // λάθος

Από τον Ιούνιο του 2021, υποστηρίζονται οι ιδιωτικές μεθόδους και πεδία σε όλους τους σύγχρονους περιηγητές:

Chrome Edge Firefox Safari Opera
Chrome 74 Edge 79 Firefox 90 Safari 14.1 Opera 62
Απρίλιος 2019 Ιανουάριος 2020 Ιούνιος 2021 Απρίλιος 2021 Ιούνιος 2019
  • Προηγούμενη σελίδα JS 2021
  • Επόμενη σελίδα JS 2023