JavaScript est-il un langage POO ?
Je sais, ce sujet a été abordé trop de fois. Pourtant, cela est évoqué à maintes reprises. Chaque fois que les développeurs de Java ou C# ou de tout autre langage POO entrent en contact avec JavaScript, ces développeurs se plaignent beaucoup. Ils disent que travailler avec JavaScript est un véritable gâchis. Il n'a pas de types, n'est pas bien structuré, est un peu bizarre, a une mauvaise prise en charge des objets et n'est certainement pas un langage POO.
Certaines de ces plaintes peuvent être acceptables, mais d'autres sont biaisées, comme l'affirmation selon laquelle JavaScript n'a pas de types et n'est donc pas un langage POO. Concernant ce dernier point, avant de tirer des conclusions hâtives, vous devez vous demander : qu'est-ce qui fait d'un langage de programmation un langage de programmation orienté objet ?
Qu'est-ce que la POO ?
Il n'existe pas de spécification standard formelle pour le modèle POO. Il n'existe aucun document technique définissant ce qu'est la POO et ce qui ne l'est pas. La définition de la POO est principalement basée sur le bon sens dans les articles publiés par les premiers chercheurs tels que Kristen Nygaard, Alan Kays, William Cook et d'autres. Il y a eu de nombreuses tentatives pour définir la POO et une définition largement acceptée pour classer les langages de programmation, car l'orientation objet repose sur deux exigences :
La capacité de modéliser des problèmes à travers des objets.
Prend en charge un certain nombre de principes qui permettent la modularisation et la réutilisation du code.
Pour répondre à la première exigence, le langage doit permettre aux développeurs d'utiliser des objets pour décrire la réalité et définir des relations entre les objets, comme suit :
Association : Capacité d'un objet à faire référence à un autre objet indépendant.
Agrégation : Capacité d'un objet à être intégré dans un ou plusieurs objets indépendants.
Composition : La capacité d'un objet à embarquer un ou plusieurs objets dépendants.
Généralement, la deuxième exigence est remplie si le langage prend en charge les principes suivants :
Encapsulation : un focus unique sur les données et l'entité de code de manipulation et la possibilité de masquer ses détails internes.
Héritage : mécanisme par lequel un objet obtient tout ou partie des éléments d'un ou plusieurs autres objets.
Polymorphisme : la capacité de gérer les objets différemment en fonction de leur type ou de leur structure de données.
Les langages qui répondent à ces exigences sont généralement classés comme orientés objet.
JavaScript et POO
Nous savons maintenant à quoi devrait ressembler un langage POO. Alors, pouvons-nous prouver que JavaScript est un langage POO ? Essayons.
Nous savons que la capacité des objets JavaScript à prendre en charge l'association, l'agrégation et la combinaison n'est pas forte. Veuillez regarder le code suivant :
var johnSmith = { firstName: "John", lastName: "Smith", address: { //Composition street: "123 Duncannon Street", city: "London", country: "United Kingdom" } }; var nickSmith = { firstName: "Nick", lastName: "Smith", address: { //Composition street: "321 Oxford Street", city: "London", country: "United Kingdom" } }; johnSmith.parent = nickSmith; //Association var company = { name: "ACME Inc.", employees: [] }; //Aggregation company.employees.push(johnSmith); company.employees.push(nickSmith);
Dans le code ci-dessus, vous pouvez trouver un exemple de combinaison (attribut adresse), un exemple d'association (attribut parent) et un exemple d'agrégation (attribut employés ).
En ce qui concerne l'encapsulation, les objets JavaScript sont des entités qui prennent en charge les données et les fonctions, mais ils ne disposent pas d'un support natif de haut niveau pour masquer les détails internes. Les objets JavaScript ne se soucient pas de la confidentialité. Toutes les propriétés et méthodes sont accessibles publiquement si vous n’y faites pas attention. Cependant, nous pouvons appliquer plusieurs techniques pour définir l'état interne d'un objet et le protéger des accès externes : exploiter les fermetures à l'aide de getters et de setters.
JavaScript prend en charge l'héritage à un niveau de base via ce que l'on appelle l'héritage prototypique. Même si certains développeurs pensent que c'est un peu simpliste, le mécanisme d'héritage de JavaScript est tout à fait valide et permet d'obtenir les mêmes résultats que la plupart des langages POO reconnus. Quoi que vous en pensiez, JavaScript dispose d'un mécanisme par lequel "un objet obtient tout ou partie des fonctionnalités d'un ou plusieurs autres objets", et c'est l'héritage.
Le défi du polymorphisme semble plus difficile car de nombreuses personnes associent ce concept aux types de données. En fait, le polymorphisme touche de nombreux aspects des langages de programmation et n’est pas uniquement lié aux langages POO. Cela implique généralement des éléments tels que les génériques, la surcharge et les sous-types structurels. Tout cela semble écrasant pour un langage « simple » et faiblement typé : JavaScript. Mais ce n’est pas le cas : en JavaScript, nous pouvons réaliser différents types de polymorphisme de plusieurs manières, et nous l’avons peut-être fait plusieurs fois sans même nous en rendre compte.
POO sans classes
"D'accord, mais là encore, JavaScript n'a pas de classes."
De nombreux développeurs pensent que JavaScript n'a pas le concept de classes et n'en ont pas. traitez JavaScript comme s'il s'agissait d'un véritable langage orienté objet car il n'applique pas les principes de la POO.
Cependant, nous pouvons voir que dans la définition informelle, il n'y a aucune mention explicite des classes. Il est vrai que les objets nécessitent des propriétés et des principes. Mais les classes ne sont pas vraiment une exigence, elles constituent simplement parfois un moyen pratique d'abstraire un ensemble d'objets ayant des propriétés communes. Par conséquent, même si les objets de support d'un langage n'ont pas de classes, il peut s'agir d'un langage orienté objet, tel que JavaScript.
De plus, l'objectif des principes de la POO est conçu pour être pris en charge. Pour programmer dans un langage, les principes de la POO ne doivent pas être obligatoires. Un développeur peut choisir d'utiliser des constructions qui lui permettent de créer du code orienté objet, ou il peut choisir de ne pas les utiliser. De nombreuses personnes critiquent JavaScript car les développeurs peuvent écrire du code qui viole les principes de la POO. Mais ce n'est qu'un choix du programmeur, pas une limitation du langage. Cela se produit également avec d'autres langages de programmation, comme le C++.
Nous pouvons donc conclure que le manque de classes abstraites et la liberté accordée aux développeurs d'utiliser ou non des fonctionnalités prenant en charge les principes de la POO ne sont pas le véritable obstacle à l'identification de JavaScript en tant que langage POO
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!

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

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

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

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

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Ce n'est un secret pour personne que l'iPhone est l'un des gadgets électroniques les plus conviviaux, et l'une des raisons pour cela est qu'il peut être facilement personnalisé à votre guise. Dans Personnalisation, vous pouvez changer la langue en une langue différente de celle que vous avez sélectionnée lors de la configuration de votre iPhone. Si vous maîtrisez plusieurs langues ou si le paramètre de langue de votre iPhone est incorrect, vous pouvez le modifier comme nous l'expliquons ci-dessous. Comment changer la langue de l'iPhone [3 méthodes] iOS permet aux utilisateurs de changer librement la langue préférée sur l'iPhone pour s'adapter aux différents besoins. Vous pouvez changer la langue d'interaction avec Siri pour faciliter la communication avec l'assistant vocal. Dans le même temps, lorsque vous utilisez le clavier local, vous pouvez facilement basculer entre plusieurs langues pour améliorer l'efficacité de la saisie.

La technologie de détection et de reconnaissance des visages est déjà une technologie relativement mature et largement utilisée. Actuellement, le langage d'application Internet le plus utilisé est JS. La mise en œuvre de la détection et de la reconnaissance faciale sur le front-end Web présente des avantages et des inconvénients par rapport à la reconnaissance faciale back-end. Les avantages incluent la réduction de l'interaction réseau et de la reconnaissance en temps réel, ce qui réduit considérablement le temps d'attente des utilisateurs et améliore l'expérience utilisateur. Les inconvénients sont les suivants : il est limité par la taille du modèle et la précision est également limitée ; Comment utiliser js pour implémenter la détection de visage sur le web ? Afin de mettre en œuvre la reconnaissance faciale sur le Web, vous devez être familier avec les langages et technologies de programmation associés, tels que JavaScript, HTML, CSS, WebRTC, etc. Dans le même temps, vous devez également maîtriser les technologies pertinentes de vision par ordinateur et d’intelligence artificielle. Il convient de noter qu'en raison de la conception du côté Web

Parfois, nous installons simplement le système informatique et constatons que le système est en anglais. Dans ce cas, nous devons changer la langue de l'ordinateur en chinois. Alors, comment changer la langue de l'ordinateur en chinois dans le système Win10 ? . Comment changer la langue de l'ordinateur dans Win10 en chinois 1. Allumez l'ordinateur et cliquez sur le bouton Démarrer dans le coin inférieur gauche. 2. Cliquez sur l'option de paramètres à gauche. 3. Sélectionnez « Heure et langue » sur la page qui s'ouvre. 4. Après l'ouverture, cliquez sur « Langue » sur la gauche. 5. Ici, vous pouvez définir la langue de l'ordinateur souhaitée.

Avec le développement rapide de la finance sur Internet, l'investissement en actions est devenu le choix de plus en plus de personnes. Dans le trading d'actions, les graphiques en bougies sont une méthode d'analyse technique couramment utilisée. Ils peuvent montrer l'évolution des cours des actions et aider les investisseurs à prendre des décisions plus précises. Cet article présentera les compétences de développement de PHP et JS, amènera les lecteurs à comprendre comment dessiner des graphiques en bougies boursières et fournira des exemples de code spécifiques. 1. Comprendre les graphiques en bougies boursières Avant de présenter comment dessiner des graphiques en bougies boursières, nous devons d'abord comprendre ce qu'est un graphique en bougies. Les graphiques en chandeliers ont été développés par les Japonais

Basées sur l'optimisation continue de grands modèles, les agents LLM, ces puissantes entités algorithmiques ont montré leur potentiel pour résoudre des tâches de raisonnement complexes en plusieurs étapes. Du traitement du langage naturel à l'apprentissage profond, les agents LLM deviennent progressivement le centre d'intérêt de la recherche et de l'industrie. Ils peuvent non seulement comprendre et générer le langage humain, mais également formuler des stratégies, effectuer des tâches dans divers environnements et même utiliser des appels d'API et du codage pour créer. solutions. Dans ce contexte, l'introduction du framework AgentQuest constitue une étape importante. Il fournit non seulement une plate-forme d'analyse comparative modulaire pour l'évaluation et l'avancement des agents LLM, mais fournit également aux chercheurs des outils puissants pour suivre et améliorer les performances de ces agents à un moment donné. niveau plus granulaire

1. Cliquez sur [Gestion du système] dans le menu des paramètres du téléphone. 2. Cliquez sur l'option [Langue]. 3. Sélectionnez la langue du système que vous souhaitez utiliser.

Tutoriel JavaScript : Comment obtenir le code d'état HTTP, des exemples de code spécifiques sont requis Préface : Dans le développement Web, l'interaction des données avec le serveur est souvent impliquée. Lors de la communication avec le serveur, nous devons souvent obtenir le code d'état HTTP renvoyé pour déterminer si l'opération a réussi et effectuer le traitement correspondant en fonction de différents codes d'état. Cet article vous apprendra comment utiliser JavaScript pour obtenir des codes d'état HTTP et fournira quelques exemples de codes pratiques. Utilisation de XMLHttpRequest

1. Spécifications du code pendant le travail de reconstruction en arrière-plan : pendant le processus de développement frontal B-end, les développeurs seront toujours confrontés au problème du développement répété. Les modules d'éléments de nombreuses pages CRUD sont fondamentalement similaires, mais ils doivent toujours être développés manuellement. , et du temps est consacré à la construction d'éléments simples, ce qui réduit l'efficacité du développement des exigences de l'entreprise. Dans le même temps, étant donné que les styles de codage des différents développeurs sont incohérents, le démarrage des itérations est plus coûteux pour les autres. L’IA remplace la simple intelligence : avec le développement continu de grands modèles d’IA, elle possède des capacités de compréhension simples et peut convertir le langage en instructions. Les instructions générales pour la création de pages de base peuvent répondre aux besoins de création quotidienne de pages de base et améliorer l'efficacité du développement commercial dans des scénarios généraux. 2. Générez une liste de liens. Les listes de pages, les formulaires et les détails du support B peuvent être grossièrement divisés dans les catégories suivantes :
