Inhaltsverzeichnis
String-Füllung
Objektwertdurchquerung
Eigenschaftsdeskriptoren des Objekts abrufen
Nachgestellte Kommas in Funktionsparameterlisten und -aufrufen
Asynchrone Funktion
Gemeinsamer Speicher und atomare Operationen
Heim Web-Frontend js-Tutorial Übersicht über die neuesten ES8-Funktionen

Übersicht über die neuesten ES8-Funktionen

Jul 21, 2017 am 09:59 AM
ecmascript 概述

Die aus ES8 zusammengestellte Funktionsübersicht von ECMAScript 2017 (ES8) wurde veröffentlicht. Hier sind die wichtigsten neuen Funktionen, zusammengefasst in der Artikelreihe „Moderne JavaScript-Entwicklung: Syntax-Grundlagen und praktische Fertigkeiten“ des Autors Beenden Sie die wöchentliche Checklistenreihe, um Informationen aus erster Hand zu erhalten.

ECMAScript 2017 oder ES8 wurde Ende Juni 2017 offiziell von TC39 veröffentlicht. Sie können die Vollversion hier durchsuchen; zu den repräsentativen Funktionen von ES8 gehören String-Padding und Objektwert Traversierung, Erfassung von Objektattributdeskriptoren, Funktionsparameterliste und nachgestellte Kommas in Aufrufen, asynchrone Funktionen, gemeinsam genutzter Speicher und atomare Operationen usw.

String-Füllung

ES8 verfügt über integrierte String-Füllfunktionen, nämlich padStart und padEnd. Diese Funktion kann sicherstellen, dass die Zeichenfolge eine feste Größe erreicht, indem sie den Kopf oder das Ende der Zeichenfolge füllt. Länge; Entwickler können die aufgefüllte Zeichenfolge angeben oder Standardleerzeichen verwenden. Die Funktion wird wie folgt deklariert:

str.padStart(targetLength [, padString])

str.padEnd(targetLength [, padString])
Nach dem Login kopieren

Wie oben gezeigt, ist der erste Parameter der Funktion die Ziellänge. Das ist die Länge der endgültig generierten Zeichenfolge. Der zweite Parameter ist die angegebene Füllzeichenfolge:

'es8'.padStart(2);          // 'es8'
'es8'.padStart(5);          // '  es8'
'es8'.padStart(6, 'woof');  // 'wooes8'
'es8'.padStart(14, 'wow');  // 'wowwowwowwoes8'
'es8'.padStart(7, '0');     // '0000es8'
'es8'.padEnd(2);          // 'es8'
'es8'.padEnd(5);          // 'es8  '
'es8'.padEnd(6, 'woof');  // 'es8woo'
'es8'.padEnd(14, 'wow');  // 'es8wowwowwowwo'
'es8'.padEnd(7, '6');     // 'es86666'
Nach dem Login kopieren

Objektwertdurchquerung

Object.values ​​​​Funktion wird Gibt das angegebene Array aufzählbarer Attributwerte des Objekts zurück. Die Reihenfolge der Werte im Array stimmt mit der For-In-Schleife überein. Die Funktionsdeklaration lautet:

Object.values(obj)
Nach dem Login kopieren

Der erste Parameter obj ist derjenige, der durchlaufen werden muss. Das Zielobjekt, das ein Objekt oder ein Array sein kann (ein Array kann als ein Objekt betrachtet werden, dessen Schlüssel Indizes sind):

const obj = { x: 'xxx', y: 1 };
Object.values(obj); // ['xxx', 1]

const obj = ['e', 's', '8']; // same as { 0: 'e', 1: 's', 2: '8' };
Object.values(obj); // ['e', 's', '8']

// when we use numeric keys, the values returned in a numerical 
// order according to the keys
const obj = { 10: 'xxx', 1: 'yyy', 3: 'zzz' };
Object.values(obj); // ['yyy', 'zzz', 'xxx']
Object.values('es8'); // ['e', 's', '8']
Nach dem Login kopieren

und die Object.entries-Methode Dann werden die aufzählbaren Eigenschaften und Werte eines Objekts in Form eines zweidimensionalen Arrays zurückgegeben. Die Reihenfolge im Array ist konsistent mit Object.values. Die Deklaration und Verwendung dieser Funktion sind:

const obj = { x: 'xxx', y: 1 };
Object.entries(obj); // [['x', 'xxx'], ['y', 1]]

const obj = ['e', 's', '8'];
Object.entries(obj); // [['0', 'e'], ['1', 's'], ['2', '8']]

const obj = { 10: 'xxx', 1: 'yyy', 3: 'zzz' };
Object.entries(obj); // [['1', 'yyy'], ['3', 'zzz'], ['10': 'xxx']]
Object.entries('es8'); // [['0', 'e'], ['1', 's'], ['2', '8']]
Nach dem Login kopieren

Eigenschaftsdeskriptoren des Objekts abrufen

getOwnPropertyDescriptors-Funktion gibt den Deskriptor einer angegebenen Eigenschaft des angegebenen Objekts zurück. Diese Eigenschaft muss vom Objekt selbst definiert werden und darf nicht von der Prototypenkette geerbt werden. Die Funktionsdeklaration lautet:

Object.getOwnPropertyDescriptor(obj, prop)
Nach dem Login kopieren

obj ist das Quellobjekt und prop ist der Eigenschaftsname, der angezeigt werden muss; die im Ergebnis enthaltenen Schlüssel können konfigurierbar, aufzählbar, beschreibbar, get, set und value sein.

const obj = { get es8() { return 888; } };
Object.getOwnPropertyDescriptor(obj, 'es8');
// {
//   configurable: true,
//   enumerable: true,
//   get: function es8(){}, //the getter function
//   set: undefined
// }
Nach dem Login kopieren

Nachgestellte Kommas in Funktionsparameterlisten und -aufrufen

Mit dieser Funktion können wir beim Definieren oder Aufrufen von Funktionen Nr. nachgestellte Kommas hinzufügen Fehler gemeldet:

function es8(var1, var2, var3,) {
  // ...
}
es8(10, 20, 30,);
Nach dem Login kopieren

Asynchrone Funktion

ES8 ermöglicht die Verwendung der async/await-Syntax zum Definieren und Ausführen asynchroner Funktionen, Schlüsselwort async Gibt ein AsyncFunction-Objekt zurück. Obwohl die Implementierungsprinzipien von asynchronen Funktionen und Iteratoren ähnlich sind, werden sie nicht in Iteratorfunktionen konvertiert:

function fetchTextByPromise() {
  return new Promise(resolve => { 
    setTimeout(() => { 
      resolve("es8");
    }, 2000);
  });
}
async function sayHello() { 
  const externalFetchedText = await fetchTextByPromise();
  console.log(`Hello, ${externalFetchedText}`); // Hello, es8
}
sayHello();

console.log(1);
sayHello();
console.log(2);

// 调用结果
1 // immediately
2 // immediately
Hello, es8 // after 2 seconds
Nach dem Login kopieren

Gemeinsamer Speicher und atomare Operationen

Gemeinsamer Speicher ermöglicht mehreren Threads das gleichzeitige Lesen und Schreiben von Daten, während atomare Operationen die Parallelitätskontrolle ermöglichen, um die sequentielle Ausführung mehrerer konkurrierender Threads sicherzustellen. In diesem Abschnitt werden der neue Konstruktor SharedArrayBuffer und das Namespace-Objekt Atomics vorgestellt, das statische Methoden enthält. Das Atomic-Objekt ähnelt Math. Wir können seine Instanz nicht direkt erstellen, sondern können nur die von ihm bereitgestellten statischen Methoden verwenden:

  • add /sub – einen Wert an einer bestimmten Position hinzufügen oder subtrahieren

  • und/oder /xor – Bitoperationen ausführen

  • laden – Wert abrufen

Das obige ist der detaillierte Inhalt vonÜbersicht über die neuesten ES8-Funktionen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Ist es2017 es6 oder es8? Ist es2017 es6 oder es8? Oct 27, 2022 pm 05:37 PM

es2017 ist es8. Der vollständige Name von es ist „ECMAScript“, eine universelle Skriptsprache, die gemäß dem ECMA-262-Standard implementiert wurde. Die im Juni 2017 offiziell veröffentlichte Version heißt offiziell ECMAScript2017 (ES2017). kann als es8 bezeichnet werden.

Überblick über Probleme und Lösungen der Operatorüberladung in C++ Überblick über Probleme und Lösungen der Operatorüberladung in C++ Oct 08, 2023 pm 01:02 PM

Überblick über Probleme und Lösungen beim Überladen von Operatoren in C++ Einführung: Das Überladen von Operatoren ist ein wichtiges Merkmal der C++-Sprache, das es Programmierern ermöglicht, vorhandene Operatoren anzupassen, um benutzerdefinierte Datentypen zu bedienen. Die Überlastung von Operatoren muss jedoch mit Vorsicht angewendet werden, da sie bei unsachgemäßer oder übermäßiger Verwendung zu Problemen wie verringerter Lesbarkeit des Codes, Mehrdeutigkeit und verringerter Effizienz führt. In diesem Artikel werden häufige Probleme bei der Operatorüberladung in C++ beschrieben und entsprechende Lösungen und Codebeispiele bereitgestellt. 1. Probleme bei der Operatorüberlastung 1.1 Mehrdeutigkeitsproblem bei der Operatorüberladung

Python Tkinter zeigt seine Leistungsfähigkeit: Erstellen Sie beeindruckende GUI-Anwendungen Python Tkinter zeigt seine Leistungsfähigkeit: Erstellen Sie beeindruckende GUI-Anwendungen Mar 24, 2024 am 09:11 AM

Tkinter ist eine leistungsstarke GUI-Bibliothek in Python, mit der plattformübergreifende Desktop-Anwendungen erstellt werden können. Mit seiner Benutzerfreundlichkeit und seinem breiten Funktionsumfang bietet es verschiedene Tools zum Erstellen von Benutzeroberflächen, zum Verwalten von Ereignissen und zum Verwalten von Layouts. Erstellen eines GUI-Fensters Um ein GUI-Fenster zu erstellen, müssen Sie die Methode Tkinter.Tk() verwenden. Diese Methode gibt ein Tk()-Objekt zurück, das das Hauptfenster der Anwendung darstellt. Ein Fenster kann mit der Methode title() einen Titel und mit der Methode Geometry() die Fenstergröße und -position festlegen. importtkinterrastkroot=tk.Tk()root.title("Meine erste Tkinter-Anwendung")root.g

Eine schnelle und detaillierte Erklärung aller Funktionen von ES6~ES12 in einem Artikel! Eine schnelle und detaillierte Erklärung aller Funktionen von ES6~ES12 in einem Artikel! Jul 22, 2022 am 11:06 AM

In diesem Artikel werden die Funktionen von ECMAScript erläutert und mit Ihnen geteilt. Es dauert eine Stunde, bis Sie alle Funktionen von ES6 ~ ES12 schnell verstanden haben. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird für alle hilfreich sein.

PHP-Hochverfügbarkeit: Best Practices für die Anwendungsverfügbarkeit rund um die Uhr PHP-Hochverfügbarkeit: Best Practices für die Anwendungsverfügbarkeit rund um die Uhr Mar 26, 2024 pm 09:31 PM

Das Erreichen einer hohen Verfügbarkeit von Anwendungen ist von entscheidender Bedeutung, um den reibungslosen Betrieb wichtiger Geschäftsdienste sicherzustellen. Für mit PHP erstellte Anwendungen gibt es mehrere Best Practices, mit denen eine Verfügbarkeit rund um die Uhr erreicht werden kann. Failover und fehlertoleranter Lastausgleich: Verwenden Sie einen Backend-Lastausgleich, um den Datenverkehr auf mehrere Server zu verteilen und so Single Points of Failure zu vermeiden. Failover: Konfigurieren Sie einen automatischen Failover-Mechanismus, um im Falle eines Fehlers den Datenverkehr an einen alternativen Server zu übertragen. Fehlertolerante Kodierung: Verwenden Sie fehlertolerante Kodierungstechniken wie RaiD oder Löschcodes, um Daten vor Festplattenausfällen zu schützen. Redundante und elastische automatische Skalierung: Aktivieren Sie die automatische Skalierung, um je nach Auslastung dynamisch Server hinzuzufügen oder zu entfernen. Multi-AZ-Bereitstellung: Stellen Sie Anwendungen zur Maximierung in mehreren Availability Zones (AZ) bereit

Übersicht über die EventLoop-Bibliothek in PHP8.0 Übersicht über die EventLoop-Bibliothek in PHP8.0 May 14, 2023 am 08:49 AM

Mit der Entwicklung der PHP-Sprache benötigen Entwickler mehr Tools, um die Anforderungen und Herausforderungen moderner Anwendungen zu lösen, darunter die ereignisgesteuerte Programmierung. Zu diesem Zweck wurde die EventLoop-Bibliothek von PHP8.0 entwickelt. Dieser Artikel bietet einen Überblick und eine Einführung in die Bibliothek. Was ist EventLoop? In herkömmlichen PHP-Anwendungen sind die meisten Vorgänge synchron. Mit anderen Worten: Das Programm führt einen Code aus, wartet dann auf die Rückkehr der relevanten Daten und fährt dann mit der Ausführung des nachfolgenden Codes fort. Dieses Programmiermodell ist für einige Anwendungen nützlich

Wir enthüllen die Geschichte hinter den Kulissen des Yii-Frameworks: Kontrolle über einen neuen Bereich der PHP-Entwicklung Wir enthüllen die Geschichte hinter den Kulissen des Yii-Frameworks: Kontrolle über einen neuen Bereich der PHP-Entwicklung Mar 26, 2024 am 10:31 AM

Das Yii-Framework ist ein modernes, leistungsstarkes PHP-Framework, das die Entwicklung von WEB-Anwendungen vereinfachen und beschleunigen soll. Es bietet eine solide Grundlage, die es Entwicklern ermöglicht, sich auf die Geschäftslogik statt auf Details auf niedriger Ebene zu konzentrieren. Modulare Architektur hinter den Kulissen: Yii verwendet eine modulare Architektur, sodass Anwendungen einfach erweitert und angepasst werden können. Ein Modul ist ein unabhängiger, wiederverwendbarer Codeblock, der zur Implementierung einer bestimmten Funktionalität verwendet werden kann, beispielsweise zur Benutzerverwaltung oder zum E-Commerce. MVC-Muster: Yii folgt dem MVC-Muster (Model-View-Controller), das die Anwendungslogik von der Präsentationsschicht trennt. Dies fördert die Wartbarkeit des Codes und verbessert die Testbarkeit der Anwendung. ORM-Unterstützung: Yii bietet eine leistungsstarke ORM-Schicht (Object-Relational Mapping), die Entwicklern dies ermöglicht

Einführung in drahtlose Netzwerke Einführung in drahtlose Netzwerke Feb 19, 2024 pm 10:38 PM

Überblick über drahtlose Netzwerke Mit der rasanten Entwicklung der Technologie sind drahtlose Netzwerke zu einem unverzichtbaren Bestandteil des modernen Lebens geworden. Unsere Mobiltelefone, Computer, Smart Homes und anderen Geräte sind für die Kommunikation und Verbindung alle auf drahtlose Netzwerke angewiesen. In diesem Artikel geben wir einen Überblick über drahtlose Netzwerke und diskutieren deren Entwicklung, Prinzipien und Anwendungen. Die Entwicklung drahtloser Netzwerke lässt sich auf die Funkkommunikationstechnik im 19. Jahrhundert zurückführen. Damals nutzten die Menschen Radiowellen, um Ton- und Bildübertragungen über weite Entfernungen zu realisieren und waren damit Vorreiter bei der drahtlosen Kommunikation. Mit der Weiterentwicklung der elektronischen Technologie

See all articles