Maison > interface Web > js tutoriel > Pourquoi « typeof null » renvoie-t-il « objet » en JavaScript ?

Pourquoi « typeof null » renvoie-t-il « objet » en JavaScript ?

Mary-Kate Olsen
Libérer: 2024-12-03 22:38:09
original
806 Les gens l'ont consulté

Why Does `typeof null` Return

Pourquoi typeof Null renvoie-t-il « Objet » bien qu'il ne s'agisse pas d'un type primitif ?

En lisant « Javascript professionnel pour les développeurs Web », vous Je rencontre une perplexité : le chapitre déclare que les primitives incluent null, mais typeof(null) renvoie "object". Comme les primitives sont généralement transmises par valeur et les objets par référence, cela semble contredire la nature primitive de null.

Racine historique de la manipulation de type

Plongeant dans les annales de JavaScript, nous découvrez que cette anomalie provient de l’implémentation initiale du langage. Au début de JavaScript, les valeurs étaient caractérisées par une balise de type et une valeur. Les objets avaient une balise de type 0. Null, représenté par le pointeur NULL (0x00), s'est vu attribuer par inadvertance une balise de type 0.

Remains of the Past

Cette association accidentelle de null avec la balise de type "object" a conduit au résultat typeof(null) erroné. Malgré les mises à jour et les progrès ultérieurs du langage, ce comportement a persisté, entravé par les craintes de perturber le code existant.

Correction proposée mais rejetée

Des efforts ont été déployés pour corriger ce problème. en proposant un correctif facultatif dans ECMAScript, avec l'intention de renvoyer typeof(null) comme "null". Cependant, la proposition a été rejetée. Sa mise en œuvre aurait introduit un changement significatif, brisant potentiellement le code existant qui reposait sur le comportement existant.

Situation actuelle

Par conséquent, le type particulier de comportement (null) demeure intégré dans le tissu de JavaScript. La manipulation de types en JavaScript continue d'être un aspect nuancé et influencé historiquement du langage, illustré par cette bizarrerie durable.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal