Inhaltsverzeichnis
Q1:怎么让一个对象具有一个私有属性?(Symbol有什么用?)
Q2:怎么快速去重一个数组?
Q3:Map有啥用?
Q4:WeakMap 和 Map 的区别?
Heim Web-Frontend js-Tutorial Welche neuen Datentypen wurden in es6 hinzugefügt?

Welche neuen Datentypen wurden in es6 hinzugefügt?

Sep 03, 2021 pm 03:42 PM
es6 数据类型

ES6 neu hinzugefügte Datentypen: 1. Symboltyp; 3. WeakSet-Typ; 6. TypedArray-Typ;

Welche neuen Datentypen wurden in es6 hinzugefügt?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, ECMAScript Version 6, Dell G3-Computer.

ES6 neue Datentypen

  • Symboltyp (einfach)
  • Set-Typ (komplex)
  • Kartentyp (komplex)
  • WeakSet-Typ (komplex)
  • Schwacher Kartentyp (komplex)
  • TypedArray-Typ(komplex)

Werfen wir einen Blick darauf, welche Datentypen vor es6 verfügbar waren,es6 之前有哪些数据类型,

  • 基本类型:

    • string

    • null

    • undefined

    • number

    • boolean

  • 复杂类型:

    • object

由于新出的类型在平常工作中基本用不到,所以具体介绍还是直接看 MDN 的专业解释把,下面给大家讲解一些面试经常遇到的问题....

Q1:怎么让一个对象具有一个私有属性?(Symbol有什么用?)

Answer:用 Symbol 作为对象的 key 即可

{ // 私有作用域
  let a = Symbol()
  window.oo = {
    name: '对象',
    age: 18,
    [a]: '这是一个私有属性'
  }
  console.log(oo[a]) // 这是一个私有属性
}
// 不能再作用域外打印...
Nach dem Login kopieren

此时对象 oo 就有一个私有属性,该属性在作用域外就无法正确打印。

Welche neuen Datentypen wurden in es6 hinzugefügt?

Q2:怎么快速去重一个数组?

Answer:用 SetArray.form()
这是一道很经典的面试题,在此之前先讲讲 es6 之前的去重方法:

let array = [1, 2, 3, 4, 4, 5, 5, 6]
~function uniq() {
  let result = []
  let hash = {}
  for (let i=0; i<array.length><p class="image-package"><img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/image/369/298/171/1630654569660947.png" class="lazy" title="1630654569660947.png" alt="Welche neuen Datentypen wurden in es6 hinzugefügt?"></p>
<p>但是该方法有巨大的弊端,去重数组中不能有对象,而且该方法返回的结果中都是字符串,所以无法对这样的数组进行去重。</p>
<p>当我们使用 <code>Set</code> 时</p>
<pre class="brush:php;toolbar:false">let a = {a: 11}
let array = [0, 1, '1', '22', 22, a, a, 66]
~function uniq() {
  return Array.from(new Set(array)) // 装比写法 [... new Set(array)]
}()
Nach dem Login kopieren

Welche neuen Datentypen wurden in es6 hinzugefügt?

甚至连对象的引用也能去重,很简略的方法。

Q3:Map有啥用?

Answer:map 更像是对象的拓展,他的 key 可以是任意类型,不再像之前的对象 key 只能是字符串,也就是这个特性,我们可以去优化之前的去重,但是也没有必要,因为已经有 set 了。

举个栗子

let myMap = new Map()
 
let keyObj = {}
let keyFunc = function () {}
let keyString = "a string"
 
// 添加键
myMap.set(keyString, "和键'a string'关联的值");
myMap.set(keyObj, "和键keyObj关联的值");
myMap.set(keyFunc, "和键keyFunc关联的值");
Nach dem Login kopieren

Welche neuen Datentypen wurden in es6 hinzugefügt?

Q4:WeakMap 和 Map 的区别?

Answer:

  • WeakMap 区别就是对 key 的引用是弱引用

  • WeakMapkey

    • Basistyp:


      string

      null

      undefiniert

      Nummer

      boolean

      🎜🎜🎜🎜🎜Komplexer Typ: 🎜
        🎜🎜object🎜🎜🎜🎜🎜🎜Da die neuen Typen in der täglichen Arbeit grundsätzlich nicht verwendet werden, lesen Sie bitte MDNfür eine detaillierte Einführung > Für a Professionelle Erklärung, hier sind einige häufig gestellte Fragen in Interviews....🎜🎜🎜F1: Wie kann man einem Objekt ein privates Attribut verleihen? (Was nützt Symbol?)🎜🎜🎜Antwort: Verwenden Sie Symbol als Schlüssel des Objekts🎜rrreee🎜Zu diesem Zeitpunkt ist das Objekt oo wird verfügbar sein. Eine private Eigenschaft, die außerhalb des Gültigkeitsbereichs nicht korrekt gedruckt werden kann. 🎜🎜<img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/image/369/298/171/1630654569660947.png" class="lazy" title="163065456437873Welche neuen Datentypen wurden in es6 hinzugefügt?" alt="Welche neuen Datentypen wurden in es6 hinzugefügt?">🎜🎜🎜 F2: Wie entferne ich Duplikate schnell aus einem Array? 🎜🎜🎜Antwort: Verwenden Sie <code>Set plus Array.form() 🎜Dies ist eine sehr klassische Interviewfrage. Lassen Sie uns vorher über es6 sprechen Vorherige Deduplizierungsmethode: 🎜rrreee

        Welche neuen Datentypen wurden in es6 hinzugefügt?🎜🎜Diese Methode hat jedoch große Nachteile. Das Deduplizierungsarray darf keine Objekte enthalten und die von dieser Methode zurückgegebenen Ergebnisse sind allesamt Zeichenfolgen, sodass ein solches Array nicht verarbeitet werden kann. Ausführen Deduplizierung. 🎜🎜Wenn wir Set verwenden🎜rrreee

        Welche neuen Datentypen wurden in es6 hinzugefügt?🎜🎜Sogar Objektreferenzen können dedupliziert werden, eine sehr einfache Methode. 🎜🎜🎜F3: Wozu dient Map? 🎜🎜🎜Antwort: map ist eher eine Erweiterung eines Objekts. Sein key kann von jedem Typ sein, im Gegensatz zum vorherigen Objekt key Nur Es kann eine Zeichenfolge sein, das heißt, mit dieser Funktion können wir die vorherige Deduplizierung optimieren, dies ist jedoch nicht erforderlich, da bereits set vorhanden ist. 🎜🎜Gib mir ein Beispiel🎜rrreee

        Welche neuen Datentypen wurden in es6 hinzugefügt?🎜🎜🎜F4: Was ist der Unterschied zwischen WeakMap und Map? 🎜🎜🎜Antwort: 🎜

          🎜🎜WeakMap Der Unterschied besteht darin, dass der Verweis auf key ein schwacher Verweis ist 🎜🎜🎜 🎜Der Schlüssel von WeakMap kann nur ein Objekt sein🎜🎜🎜🎜Was Sie wissen müssen, ist, was eine schwache Referenz ist: 🎜Artikel: Lernen und Verwenden von ES2015 WeakMap🎜🎜🎜F5: Was ist der Unterschied zwischen WeakSet und Set? 🎜🎜🎜Antwort: Das Gleiche wie oben🎜🎜🎜F6: Wozu dient TypedArray? 🎜🎜🎜Antwort: Dieser Typ verwendet weniger Methoden. Er wird hauptsächlich zur Verarbeitung von Binärdateien (Audio, Dateien, Videos, Bilder ...) verwendet und wird im Allgemeinen nicht verwendet, es sei denn, Sie entwickeln das Rad selbst. 🎜🎜【Empfohlenes Lernen: 🎜Javascript-Tutorial für Fortgeschrittene🎜】🎜

    Das obige ist der detaillierte Inhalt vonWelche neuen Datentypen wurden in es6 hinzugefügt?. 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

    AI Hentai Generator

    AI Hentai Generator

    Erstellen Sie kostenlos Ai Hentai.

    Heißer Artikel

    R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
    1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Beste grafische Einstellungen
    1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
    1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Chat -Befehle und wie man sie benutzt
    1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

    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)

    So konvertieren Sie PHP8-Datentypen So konvertieren Sie PHP8-Datentypen Nov 16, 2023 pm 02:51 PM

    Zu den Methoden des PHP8-Datentyps gehören die Konvertierung von Zeichenfolgen in Ganzzahlen, die Konvertierung von Ganzzahlen in Zeichenfolgen, die Konvertierung von Zeichenfolgen in Gleitkommazahlen, die Konvertierung von Gleitkommazahlen in Zeichenfolgen, die Konvertierung von Arrays in Zeichenfolgen, die Konvertierung von Zeichenfolgen in Arrays, die Konvertierung von Booleschen Werten in Ganzzahlen und die Konvertierung von Ganzzahlen in Bestimmung und Konvertierung boolescher Werte und Variablentypen. Ausführliche Einführung: 1. Die Konvertierung einer Zeichenfolge in eine Ganzzahl umfasst die Funktion intval() und die erzwungene Typkonvertierung (int). 2. Die Konvertierung einer Ganzzahl in eine Zeichenfolge umfasst die Funktion strval() und die erzwungene Typkonvertierung (String). eine Zeichenfolge zu einem Gleitkommapunkt und so weiter.

    Welcher Datentyp sollte für das Geschlechtsfeld in der MySQL-Datenbank verwendet werden? Welcher Datentyp sollte für das Geschlechtsfeld in der MySQL-Datenbank verwendet werden? Mar 14, 2024 pm 01:21 PM

    In einer MySQL-Datenbank können Geschlechtsfelder normalerweise im ENUM-Typ gespeichert werden. ENUM ist ein Aufzählungstyp, der es uns ermöglicht, aus einer Menge vordefinierter Werte einen als Wert eines Feldes auszuwählen. ENUM ist eine gute Wahl, wenn eine feste und begrenzte Option wie das Geschlecht dargestellt wird. Schauen wir uns ein konkretes Codebeispiel an: Angenommen, wir haben eine Tabelle namens „users“, die Benutzerinformationen, einschließlich Geschlecht, enthält. Jetzt wollen wir ein Feld für das Geschlecht erstellen, wir können die Tabellenstruktur so gestalten: CRE

    Was ist der beste Datentyp für Geschlechtsfelder in MySQL? Was ist der beste Datentyp für Geschlechtsfelder in MySQL? Mar 15, 2024 am 10:24 AM

    In MySQL ist der ENUM-Aufzählungstyp der am besten geeignete Datentyp für Geschlechtsfelder. Der Enumerationstyp ENUM ist ein Datentyp, der die Definition einer Menge möglicher Werte ermöglicht. Das Geschlechtsfeld eignet sich für die Verwendung des ENUM-Typs, da das Geschlecht normalerweise nur zwei Werte hat, nämlich männlich und weiblich. Als Nächstes werde ich anhand spezifischer Codebeispiele zeigen, wie man in MySQL ein Geschlechtsfeld erstellt und den Aufzählungstyp ENUM zum Speichern von Geschlechtsinformationen verwendet. Im Folgenden sind die Schritte aufgeführt: Erstellen Sie zunächst eine Tabelle mit dem Namen „users“ in MySQL, einschließlich

    Was sind die Python-Datentypen? Was sind die Python-Datentypen? Dec 11, 2023 pm 04:17 PM

    Python-Datentypen umfassen: 1. Ganzzahltyp; 3. Komplexe Zahl; Detaillierte Einführung: 1. Ganzzahltyp, der zur Darstellung von Ganzzahlen verwendet wird. In Python ist der Wertebereich, den Ganzzahlen darstellen können, plattformspezifisch. 2. Gleitkommatyp, der zur Darstellung verwendet wird Zahlen mit Dezimalteilen. Zahlen vom Typ Gleitkomma können positive Zahlen, negative Zahlen und Null darstellen. 3. Komplexe Zahlen werden zur Darstellung komplexer Zahlen verwendet, einschließlich Real- und Imaginärteilen.

    Mindmap der Python-Syntax: Vertiefendes Verständnis der Codestruktur Mindmap der Python-Syntax: Vertiefendes Verständnis der Codestruktur Feb 21, 2024 am 09:00 AM

    Python wird aufgrund seiner einfachen und leicht lesbaren Syntax in einer Vielzahl von Bereichen häufig verwendet. Es ist von entscheidender Bedeutung, die Grundstruktur der Python-Syntax zu beherrschen, um sowohl die Programmiereffizienz zu verbessern als auch ein tiefes Verständnis für die Funktionsweise des Codes zu erlangen. Zu diesem Zweck bietet dieser Artikel eine umfassende Mindmap, die verschiedene Aspekte der Python-Syntax detailliert beschreibt. Variablen und Datentypen Variablen sind Container, die zum Speichern von Daten in Python verwendet werden. Die Mindmap zeigt gängige Python-Datentypen, einschließlich Ganzzahlen, Gleitkommazahlen, Zeichenfolgen, boolesche Werte und Listen. Jeder Datentyp hat seine eigenen Eigenschaften und Betriebsmethoden. Operatoren Operatoren werden verwendet, um verschiedene Operationen an Datentypen auszuführen. Die Mindmap deckt die verschiedenen Operatortypen in Python ab, z. B. arithmetische Operatoren und Verhältnisse

    Was ist die beste Datentypauswahl für das Geschlechtsfeld in MySQL? Was ist die beste Datentypauswahl für das Geschlechtsfeld in MySQL? Mar 14, 2024 pm 01:24 PM

    Beim Entwerfen von Datenbanktabellen ist die Auswahl des geeigneten Datentyps für die Leistungsoptimierung und Datenspeichereffizienz sehr wichtig. In der MySQL-Datenbank gibt es eigentlich keine sogenannte beste Wahl für den Datentyp zum Speichern des Geschlechtsfelds, da das Geschlechtsfeld im Allgemeinen nur zwei Werte hat: männlich oder weiblich. Aus Gründen der Effizienz und Platzersparnis können wir jedoch einen geeigneten Datentyp zum Speichern des Geschlechtsfelds auswählen. In MySQL ist der Aufzählungstyp der am häufigsten verwendete Datentyp zum Speichern von Geschlechtsfeldern. Ein Aufzählungstyp ist ein Datentyp, der den Wert eines Felds auf einen begrenzten Satz beschränken kann.

    Ausführliche Erklärung zur Verwendung des booleschen Typs in MySQL Ausführliche Erklärung zur Verwendung des booleschen Typs in MySQL Mar 15, 2024 am 11:45 AM

    Detaillierte Erläuterung der Verwendung boolescher Typen in MySQL MySQL ist ein häufig verwendetes relationales Datenbankverwaltungssystem. In praktischen Anwendungen ist es häufig erforderlich, boolesche Typen zur Darstellung logischer wahrer und falscher Werte zu verwenden. In MySQL gibt es zwei Darstellungsmethoden vom booleschen Typ: TINYINT(1) und BOOL. In diesem Artikel wird die Verwendung boolescher Typen in MySQL ausführlich vorgestellt, einschließlich der Definition, Zuweisung, Abfrage und Änderung boolescher Typen, und anhand spezifischer Codebeispiele erläutert. 1. Der boolesche Typ ist in MySQL definiert und kann sein

    Mar 18, 2024 pm 04:03 PM

    Die C-Sprache ist eine weit verbreitete Computerprogrammiersprache, die effizient, flexibel und leistungsstark ist. Um die Programmiersprache C beherrschen zu können, müssen Sie zunächst die grundlegende Syntax und die Datentypen verstehen. In diesem Artikel werden die grundlegende Syntax und Datentypen der C-Sprache vorgestellt und Beispiele gegeben. 1. Grundlegende Syntax 1.1 Kommentare In der Sprache C können Kommentare zur Erläuterung des Codes verwendet werden, um das Verständnis und die Wartung zu erleichtern. Kommentare können in einzeilige Kommentare und mehrzeilige Kommentare unterteilt werden. //Dies ist ein einzeiliger Kommentar/*Dies ist ein mehrzeiliger Kommentar*/1.2 Schlüsselwort C-Sprache

    See all articles