"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Les différences entre &#Object&#, &#{}&# et &#object&# dans TypeScript

Les différences entre &#Object&#, &#{}&# et &#object&# dans TypeScript

Publié le 2024-07-30
Parcourir:496

Dans TypeScript, lorsque nous voulons définir un type d'objet, il existe plusieurs options concises telles que « Objet », « {} » et « objet ». Quelles sont les différences entre eux ?

Objet (en majuscule)

Object (majuscule) décrit les propriétés communes à tous les objets JavaScipt. Il est défini dans le fichier lib.es5.d.ts fourni avec la bibliothèque TypeScript.

The Differences Between

Comme vous pouvez le voir, il inclut certaines propriétés courantes telles que toString(), valueOf(), etc.

Parce qu'il met l'accent uniquement sur les propriétés communes aux objets JavaScript. Vous pouvez donc lui attribuer des objets boxables comme une chaîne, un booléen, un nombre, un bigint, un symbole, mais pas l'inverse.

The Differences Between

{}

{} décrit un objet qui n'a aucun membre propre, ce qui signifie que TypeScript se plaindra si vous essayez d'accéder à ses membres de propriété :

The Differences Between

Dans l'exemple de code ci-dessus, nous pouvons voir que {} et Object (en majuscules) ont les mêmes fonctionnalités. Autrement dit, il ne peut accéder qu'aux propriétés communes (même si la logique du code JavaScript est correcte), tous les objets boxables peuvent lui être attribués, etc.

Cela est dû au fait que le type {} peut accéder à ces propriétés communes via la chaîne de prototypes et qu'il n'a pas non plus de propriétés propres. Il se comporte donc de la même manière que le type Object (majuscule). Mais ils représentent des concepts différents.

objet (minuscules)

objet (minuscules) désigne tout type non primitif, exprimé dans un code comme celui-ci :

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

type NonPrimitiveType = object;

Cela signifie que tous les types non primitifs ne lui sont pas attribuables, et vice versa.

The Differences Between

Collation : enregistrement

Dans le code source de nombreuses bibliothèques courantes, nous pouvons voir Record pour représenter des types non primitifs. Il a le même effet qu'un objet (en minuscules), mais il est plus sémantique.


Si vous trouvez mon contenu utile, veuillez envisager de vous abonner. J'envoie une _ newsletter hebdomadaire tous les dimanches _ avec les dernières mises à jour de développement Web. Merci pour votre aide!

Déclaration de sortie Cet article est reproduit sur : https://dev.to/zacharylee/the-differences-between-object-and-object-in-typescript-f6f?1 En cas de violation, veuillez contacter [email protected] pour supprimer il
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3