


Nouvelles méthodes pour les objets JavaScript : 1. "Object.is()", qui peut être utilisé pour comparer si deux valeurs sont strictement égales ; 2. "Object.assign()", qui peut être utilisé pour fusionner des objets ; et combinez tous les objets source. Les propriétés énumérables sont copiées dans l'objet cible.
L'environnement d'exploitation de ce tutoriel : système Windows 7, JavaScript version 1.8.5, ordinateur Dell G3.
Nouvelles méthodes des objets JavaScript
1. Object.is()
es6 Dans es6, pour comparer si deux valeurs sont strictement égales, nous avons trois méthodes, en utilisant l'opérateur d'égalité ' == ', l'opérateur d'égalité stricte '===' ou la méthode Object.is(), mais les deux premières méthodes ont des défauts et ne peuvent pas être utilisées dans certains scénarios spéciaux, alors que Object.is() ne le peut pas.
Object.is() se comporte fondamentalement de la même manière que l'opérateur '====',
mais il y a deux différences :
(1) +0 n'est pas égal à -0
(2) NaN est égal à lui-même
2, Object.assign()
(1) Object.assign() est utilisé pour fusionner des objets, en copiant toutes les propriétés énumérables de l'objet source dans l'objet cible
(2) Le premier paramètre de la méthode Object.assign() est l'objet cible et les paramètres suivants sont l'objet source.
Si l'objet cible et l'objet source ont des attributs portant le même nom, ou si plusieurs objets sources ont des attributs portant le même nom, les attributs suivants écraseront les attributs précédents.
Vous pouvez voir que b : 2 en deux couvertures b : 1 en une, c : 3 en trois couvertures c : 2 en deux
(3) S'il n'y a qu'un seul paramètre, Object.assign () renverra directement le paramètre
(4) Si le paramètre n'est pas un objet, il sera d'abord converti en objet puis renvoyé.
Vous pouvez voir que Object.assign() a converti la valeur 5 en un objet Number et a renvoyé
(5) non défini et null ne peut pas être converti en objets S'ils sont utilisés comme paramètres, une erreur sera signalée.
Si le paramètre non-objet apparaît à la position de l'objet source (c'est-à-dire pas le premier paramètre), les règles de traitement seront différentes. Ces paramètres seront convertis en objets, et seront ignorés s'ils ne peuvent pas être convertis en objets. Cela signifie qu'undefined et null ne signaleront pas d'erreur s'ils ne constituent pas le premier paramètre. La démonstration est la suivante
Les autres types de valeurs (c'est-à-dire les valeurs numériques, les chaînes et les valeurs booléennes) ne le sont pas. dans le premier paramètre (c'est-à-dire le premier paramètre), et aucune erreur ne sera signalée. Cependant, sauf que la chaîne sera copiée dans l'objet cible sous forme de tableau, les autres valeurs n'auront aucun effet.
Dans le code ci-dessus, v1 v2 v3 sont respectivement des chaînes, des valeurs booléennes et des valeurs numériques. Par conséquent, seules les chaînes sont combinées dans l'objet cible (sous la forme d'un caractère. tableau), et les valeurs numériques et les valeurs booléennes seront ignorées. En effet, seuls les objets wrapper de chaîne produisent des propriétés énumérables.
(6) Convertissez respectivement les valeurs booléennes, les valeurs numériques et les chaînes en objets d'emballage correspondants. Vous pouvez voir que leurs valeurs d'originesont copiées dans les propriétés internes de l'objet d'emballage [[PrimitiveValue]]
上面,这个属性是不会被Object.assign()
. Seuls les objets wrapper de chaîne produiront des propriétés littérales énumérables, et ces propriétés seront copiées.
Object.assign() a des restrictions sur les propriétés copiées. Il copie uniquement les propriétés de l'objet source lui-même (il ne copie pas les propriétés héritées), et
ne copie pas non plus les propriétés copiées. -propriétés énumérables (énumérables : faux).
【Recommandations associées : Tutoriel d'apprentissage Javascript】
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

TonavigeAct'sComplexECosystemystemately, comprenez lestinées et les bibliothèques, reconnaissant les forces de longueur et les éveils et intégreront de l'aménagement.

ReactusSkeyStoefficiently IdentifierListItemsByProvidAtable IdentityTo Eivelment.1)

KeysInreactaRecUCialForoptimizingThereringProcessandManingDamiclistSeffectative.TospotandFixKey-Relatedissies: 1)

La liaison des données unidirectionnelle de React garantit que les données circulent du composant parent au composant enfant. 1) Les données s'écoulent en un seul, et les modifications de l'état du composant parent peuvent être transmises au composant enfant, mais le composant enfant ne peut pas affecter directement l'état du composant parent. 2) Cette méthode améliore la prévisibilité des flux de données et simplifie le débogage et les tests. 3) En utilisant des composants et un contexte contrôlés, l'interaction utilisateur et la communication inter-composants peuvent être gérées tout en conservant un flux de données unidirectionnel.

KeysInreActaRecrucialForefficEntyDomupdates et la conciliation.1) Choossable, unique, et de manière significative, liketemids.2) Forondlists, useuniquekeysateachlevel.3) éviter les indices d'origine

UseState () isCrucialForoptimizingreAttPperformanceDuetoitSImpactonre-RendersAndupdates.Tooptimize: 1) useUseCallbackTomemoizefunctionsandPreventunnesseyre-Reders.2) employUseMemoforCachingExpenSiveCompulements.3) BreakStateIntosmalLerverAbleSformoror

Utilisez le contexte et UseState pour partager les États car ils peuvent simplifier la gestion des États dans les grandes applications REACT. 1) Réduire la propulsion, 2) Code plus clair, 3) plus facile à gérer l'état mondial. Cependant, faites attention aux frais généraux de performance et à la complexité de débogage. L'utilisation rationnelle du contexte et la technologie d'optimisation peut améliorer l'efficacité et la maintenabilité de l'application.

L'utilisation de clés incorrectes peut entraîner des problèmes de performance et un comportement inattendu dans les applications REACT. 1) La clé est un identifiant unique de l'élément de liste, aidant à réagir à mettre à jour efficacement le Dom virtuel. 2) L'utilisation de la même clé ou non unique entraînera la réorganisation des éléments de liste et les états de composants à perdre. 3) L'utilisation d'identifiants stables et uniques car les clés peuvent optimiser les performances et éviter une rérivation complète. 4) Utilisez des outils tels que Eslint pour vérifier l'exactitude de la clé. Une utilisation appropriée des clés assure des applications de réaction efficaces et fiables.


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

ZendStudio 13.5.1 Mac
Puissant environnement de développement intégré PHP

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

SublimeText3 Linux nouvelle version
Dernière version de SublimeText3 Linux
