Heim > Web-Frontend > js-Tutorial > Die Unterschiede zwischen „Object', „{}' und „Object' in TypeScript

Die Unterschiede zwischen „Object', „{}' und „Object' in TypeScript

王林
Freigeben: 2024-07-24 15:52:30
Original
1334 Leute haben es durchsucht

Wenn wir in TypeScript einen Objekttyp definieren möchten, gibt es mehrere prägnante Optionen wie „Objekt“, „{}“ und „Objekt“. Was sind die Unterschiede zwischen ihnen?

Objekt (in Großbuchstaben)

Objekt (in Großbuchstaben) beschreibt Eigenschaften, die allen JavaScipt-Objekten gemeinsam sind. Es ist in der Datei lib.es5.d.ts definiert, die mit der TypeScript-Bibliothek geliefert wird.

The Differences Between

Wie Sie sehen können, enthält es einige allgemeine Eigenschaften wie toString(), valueOf() usw.

Weil es nur die Eigenschaften hervorhebt, die JavaScript-Objekten gemeinsam sind. Sie können ihm also boxbare Objekte wie Zeichenfolge, Boolescher Wert, Zahl, Bigint oder Symbol zuweisen, aber nicht umgekehrt.

The Differences Between

{}

{} beschreibt ein Objekt, das keine eigenen Mitglieder hat, was bedeutet, dass TypeScript sich beschwert, wenn Sie versuchen, auf seine Eigenschaftsmitglieder zuzugreifen:

The Differences Between

Aus dem Codebeispiel oben können wir ersehen, dass {} und Object (in Großbuchstaben) die gleichen Funktionen haben. Das heißt, es kann nur auf die gemeinsamen Eigenschaften zugreifen (auch wenn die JavaScript-Codelogik korrekt ist), alle boxbaren Objekte können ihm zugewiesen werden usw.

Das liegt daran, dass der Typ {} über die Prototypenkette auf diese gemeinsamen Eigenschaften zugreifen kann und auch keine eigenen Eigenschaften hat. Es verhält sich also genauso wie der Typ „Object“ (in Großbuchstaben). Aber sie vertreten unterschiedliche Konzepte.

Objekt (Kleinbuchstaben)

Objekt (in Kleinbuchstaben) bezeichnet jeden nicht-primitiven Typ, der im Code wie folgt ausgedrückt wird:

type PrimitiveType =
  | undefined
  | null
  | string
  | number
  | boolean
  | bigint
  | symbol;

type NonPrimitiveType = object;
Nach dem Login kopieren

Das bedeutet, dass ihm nicht alle nicht-primitiven Typen zuordenbar sind und umgekehrt.

The Differences Between

Snack: Aufnahme

Im Quellcode vieler gängiger Bibliotheken sehen wir möglicherweise Record um nicht-primitive Typen darzustellen. Es hat die gleiche Wirkung wie Objekt (in Kleinbuchstaben geschrieben), ist jedoch semantischer.


Wenn Sie meine Inhalte hilfreich finden, erwägen Sie bitte ein Abonnement. Ich verschicke jeden Sonntag einen _ wöchentlichen Newsletter _ mit den neuesten Updates zur Webentwicklung. Vielen Dank für Ihre Unterstützung!

Das obige ist der detaillierte Inhalt vonDie Unterschiede zwischen „Object', „{}' und „Object' in TypeScript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage