Symbol.isConcatSpreadable
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2017.
Die statische Dateneigenschaft Symbol.isConcatSpreadable repräsentiert das wohlbekannte Symbol Symbol.isConcatSpreadable. Die Methode Array.prototype.concat() prüft dieses Symbol bei jedem zu konkatinierenden Objekt, um festzustellen, ob es wie ein arrayähnliches Objekt behandelt und auf seine Array-Elemente abgeflacht werden soll.
Probieren Sie es aus
Wert
Das wohlbekannte Symbol Symbol.isConcatSpreadable.
Eigenschaften von Symbol.isConcatSpreadable | |
|---|---|
| Schreibbar | nein |
| Aufzählbar | nein |
| Konfigurierbar | nein |
Beschreibung
Die Eigenschaft [Symbol.isConcatSpreadable] kann als eigene oder geerbte Eigenschaft definiert werden, und ihr Wert ist ein Boolean. Sie kann das Verhalten für Arrays und arrayähnliche Objekte steuern:
- Für Array-Objekte ist das Standardverhalten, die Elemente zu spreaden (abzuflachen).
Symbol.isConcatSpreadablekann das Abflachen in diesen Fällen vermeiden. - Für arrayähnliche Objekte ist das Standardverhalten, nicht zu spreaden oder abzuflachen.
Symbol.isConcatSpreadablekann in diesen Fällen das Abflachen erzwingen.
Beispiele
Arrays
Standardmäßig spreadet Array.prototype.concat() Arrays in sein Ergebnis:
Indem Symbol.isConcatSpreadable auf false gesetzt wird, können Sie das Standardverhalten deaktivieren:
Array-ähnliche Objekte
Für arrayähnliche Objekte ist das Standardverhalten, nicht zu spreaden. Symbol.isConcatSpreadable muss auf true gesetzt werden, um ein abgeflachtes Array zu erhalten:
Hinweis:
Die Eigenschaft length wird verwendet, um die Anzahl der hinzuzufügenden Objekteigenschaften zu steuern. Im obigen Beispiel gibt length:2 an, dass zwei Eigenschaften hinzugefügt werden müssen.
Spezifikationen
| Specification |
|---|
| ECMAScript® 2026 Language Specification # sec-symbol.isconcatspreadable |