Maison > interface Web > js tutoriel > le corps du texte

Explique comme si j'étais ton junior : pourquoi ?. bien?

Mary-Kate Olsen
Libérer: 2024-11-03 11:03:02
original
340 Les gens l'ont consulté

J'écris du JS depuis près de deux décennies, mais je ne vois toujours pas pourquoi ?. n'est pas le début d'un anti-modèle, surtout pour les appels de méthode.

J'ai vu le post

Et celui qui a attiré mon attention était le numéro 2 « Chaînage facultatif avec appels de fonction » :

const user = {
getName: () => 'Alice',
};
console.log(user.getName?.());   // Alice
console.log(user.getAge?.());    // undefined
Copier après la connexion

Ce qui crie "Je ne connais pas l'interface de mes objets, et je m'en fiche."

Vous devez absolument vous soucier de l'interface de vos objets.

Je peux presque voir un argument en faveur de la robustesse si l'API d'une bibliothèque change, mais non, si vous utilisez une bibliothèque, vous connaissez l'interface des objets, corrigez votre code.

Cela ressemble à un énorme attracteur de bugs.

Vous ne voulez jamais que quelque chose soit indéfini. Ou ai-je raté un mémo à ce sujet ?

Et cela vaut double pour les méthodes. Si deux objets n'ont pas les mêmes comportements, ils doivent être traités comme des types différents, pas seulement en haussant les épaules et en disant "tout ira bien".

Le test de null est-il illégal de nos jours ? Je sais que null a été qualifié d'erreur d'un milliard de dollars, mais cela est résolu par un type d'option (comme Maybe in Haskell), et non par ce qui ressemble à l'inverse.

Un type d'option vous permet de savoir qu'il s'agit de quelque chose qui pourrait être nul, alors procédez avec prudence. Cela ne cache pas le fait, comme ?. fait.

Cela dit, je suis heureux d'être désabusé de l'idée que ?. c'est juste un coup de pied sur la route lorsqu'il s'agit de vérifier null, ou c'est tout simplement une mauvaise conception lorsqu'il s'agit d'indéfini.

Qu'est-ce qu'un bon modèle, c'est-à-dire celui qui réduit les bugs, que vous pouvez utiliser ?.?

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:dev.to
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