Heim > Artikel > Web-Frontend > Detaillierte Erläuterung erweiterter Beispiele verschiedener Datentypen in es6
1. Erweiterung der Zeichenfolge
fügt der Zeichenfolge einen Iterator hinzu, der von for...of
includes durchlaufen werden kann , StartsWith und EndsWith geben beide boolesche Werte zurück und unterstützen den zweiten Parameter (die Startposition der Suche) EndsWith zielt auf die ersten n Zeichen ab, und die anderen beiden sind vom n-ten bis zum Ende
repeat gibt eine neue Zeichenfolge zurück und der Parameter ist die Anzahl der Wiederholungen (Dezimalzahlen werden abgerundet, negative Zahlen oder Infnity melden einen Fehler, 0 bis -1 entspricht 0 und die Zeichenfolge wird in konvertiert Zahlen)
padStart und padEnd werden am Kopf oder Ende vervollständigt. Der erste Parameter ist die Mindestlänge der Zeichenfolge und der zweite Parameter ist die zur Vervollständigung verwendete Zeichenfolge
Die traditionelle Methode isFinite isNaN ruft zuerst Number() auf, um den nicht numerischen Wert in einen numerischen Wert umzuwandeln
Number.MAX_SAFE_INTEGER = Math.pow(2, 53) - 1;
Number.MIN_SAFE_INTEGER = -Number.MAX_SAFE_INTEGER;
Number.isSafeInteger() wird verwendet, um zu bestimmen, ob eine ganze Zahl innerhalb fällt dieser Bereich;
Math.sign() bestimmt, ob eine ganze Zahl negativ oder 0 ist; Math.cbrt() berechnet die Kubikwurzel einer Zahl; es gibt auch einige logarithmische Methoden und trigonometrische Funktionsmethoden 2 * * 3 === 8, die sich von der Math.pow-Implementierung unterscheiden. die letzte Ziffer des Operationsergebnisses ist unterschiedlich;
Schlüssel, Werte, Einträge
includes, indexOf ist nicht semantisch genug und wird intern zur Beurteilung verwendet,
[NaN] .indexOf(NaN) // -1 , [NaN].includes( NaN) // true
vier . Die Erweiterung der Funktion
ermöglicht das Festlegen eines Standardwerts für die Funktion. Wenn ein Nicht-Endparameter auf einen Standardwert eingestellt ist, kann dieser Parameter tatsächlich nicht weggelassen werden Das
-Attribut der Funktion gibt die Anzahl der Parameter ohne angegebenen Standardwert zurück.length
Rest-Parameter (... Variablenname) length
(1) Das
/* 替代数组的apply方法 */// ES5的写法function f(x, y, z) { // ...}var args = [0, 1, 2]; f.apply(null, args);// ES6的写法function f(x, y, z) { // ...}var args = [0, 1, 2]; f(...args);/* --------------------------------- */// ES5的写法Math.max.apply(null, [14, 3, 77])// ES6的写法Math.max(...[14, 3, 77])// 等同于Math.max(14, 3, 77);/* --------------------------------- */// ES5的写法var arr1 = [0, 1, 2];var arr2 = [3, 4, 5]; Array.prototype.push.apply(arr1, arr2);// ES6的写法var arr1 = [0, 1, 2];var arr2 = [3, 4, 5]; arr1.push(...arr2);(2) kann nicht als Konstruktor verwendet werden, das heißt, der Befehl
-Objekt kann nicht verwendet werden, da das Objekt nicht im Funktionskörper vorhanden ist. Wenn Sie es verwenden möchten, können Sie stattdessen den Rest-Parameter verwenden.
(4) Der Befehl this
kann nicht verwendet werden, daher kann die Pfeilfunktion nicht als Generatorfunktion verwendet werden.
new
arguments
5. Objekterweiterungen
yield
-Attribut der Methode gibt den Funktionsnamen (d. h. Methodennamen) zurück
Objekt. is ist im Grunde dasselbe wie ===. Der Unterschied besteht darin, dass zum einen
nicht gleichname
Object.assign(target, o1, o2) wird zum Zusammenführen von Objekten mit demselben Namen verwendet, die zuvor implementierten flachen Kopien können nicht überschrieben werden werden aufgrund von undefiniert und null in Objekte konvertiert. Wenn sie also als Parameter verwendet werden, wird ein Fehler gemeldet.
for...in, Object.keys, Object.getOwnPropertyNames(obj), Object.getOwnPropertySymbols(obj), Reflect.ownKeys(obj)
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung erweiterter Beispiele verschiedener Datentypen in es6. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!