{"id":5574,"date":"2024-08-28T22:52:17","date_gmt":"2024-08-28T22:52:17","guid":{"rendered":"https:\/\/wikiform.fr\/codespace\/verifier-le-contraire-d-une-condition-en-javascript\/"},"modified":"2024-08-28T22:52:19","modified_gmt":"2024-08-28T22:52:19","slug":"verifier-le-contraire-d-une-condition-en-javascript","status":"publish","type":"post","link":"https:\/\/wikiform.fr\/codespace\/verifier-le-contraire-d-une-condition-en-javascript\/","title":{"rendered":"5.6 V\u00e9rifier le Contraire d&rsquo;une Condition en JavaScript"},"content":{"rendered":"\n<p><strong>V\u00e9rifier le Contraire d&rsquo;une Condition en JavaScript<\/strong> est une comp\u00e9tence essentielle qui permet d&rsquo;optimiser et de rendre votre code plus lisible et maintenable. Comprendre comment inverser des conditions peut vous aider \u00e0 mieux structurer et simplifier vos logiques conditionnelles. Apprenons comment cela fonctionne et voyons des exemples concrets de code.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Introduction \u00e0 <strong>V\u00e9rifier le Contraire d&rsquo;une Condition en JavaScript<\/strong><\/h2>\n\n\n\n<div id=\"videoContainer\" style=\"position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; background: #000;\">\n  <iframe src=\"https:\/\/player.vimeo.com\/video\/658880736?dnt=1&#038;fullscreen=0&#038;pip=0\" loading=\"lazy\" loading=\"lazy\" style=\"position: absolute; top: 0; left: 0; width: 100%; height: 100%;\" frameborder=\"0\" allow=\"autoplay\" allowfullscreen id=\"vimeoPlayer\"><\/iframe>\n  \n  <!-- Popup Desktop -->\n  <div id=\"popupContainer\" class=\"desktop-popup\" style=\"display: none; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 90%; max-width: 400px; padding: 20px; border-radius: 10px; text-align: center; box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1); background-color: rgba(255, 255, 255, 0.95); box-sizing: border-box;\">\n    <h2 style=\"color: #333; font-size: 1.5em; margin: 10px 0;\" id=\"profitez-de-loffre-spciale-\">Profitez de l\u2019offre sp\u00e9ciale !<\/h2>\n    <p style=\"color: #e74c3c; font-size: 1.2em; margin: 10px 0;\">Obtenez notre cours pour seulement <strong id=\"price\">29.5\u20ac<\/strong> au lieu de <del>59\u20ac<\/del> !<\/p>\n    <a href=\"https:\/\/wikiform.fr\/application\/learnify\/home\/course\/javascript-les-fondamentaux\/142\" target=\"_blank\" style=\"display: block; padding: 10px 20px; background-color: #701CF5; color: #fff; text-decoration: none; border-radius: 5px; font-weight: bold; font-size: 1em; margin: 20px auto;\" rel=\"noopener\">Commencer maintenant<\/a>\n    <button onclick=\"closePopup()\" style=\"padding: 10px 20px; font-size: 1em;\">Fermer<\/button>\n  <\/div>\n\n  <!-- Popup Mobile -->\n  <div id=\"popupContainerMobile\" class=\"mobile-popup\" style=\"display: none; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 80%; max-width: 300px; padding: 15px; border-radius: 10px; text-align: center; box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1); background-color: rgba(255, 255, 255, 0.95); box-sizing: border-box;\">\n    <p style=\"color: #e74c3c; font-size: 1em; margin: 5px 0;\">Cours sp\u00e9cial \u00e0 <strong id=\"priceMobile\">29.5\u20ac<\/strong> au lieu de <del>59\u20ac<\/del> !<\/p>\n    <a href=\"https:\/\/wikiform.fr\/application\/learnify\/home\/course\/javascript-les-fondamentaux\/142\" target=\"_blank\" style=\"display: inline-block; padding: 8px 15px; background-color: #701CF5; color: #fff; text-decoration: none; border-radius: 5px; font-weight: bold; font-size: 0.9em;\" rel=\"noopener\">Commencer maintenant<\/a>\n    <button onclick=\"closePopup()\" style=\"padding: 5px 10px; font-size: 0.9em;\">Fermer<\/button>\n  <\/div>\n<\/div>\n\n<script src=\"https:\/\/player.vimeo.com\/api\/player.js\"><\/script>\n<script>\ndocument.addEventListener('DOMContentLoaded', function() {\n    var iframe = document.getElementById('vimeoPlayer');\n    var player = new Vimeo.Player(iframe);\n    var isPopupDisplayed = false;\n\n    player.on('play', function() {\n        if (!isPopupDisplayed) {\n            player.on('timeupdate', function(data) {\n                if (data.seconds >= 120 && !isPopupDisplayed) { \/\/ 120 seconds = 2 minutes\n                    \/\/ Pause the video and display the popup\n                    player.pause().then(function() {\n                        if (window.innerWidth > 768) {\n                            document.querySelector('.desktop-popup').style.display = 'block';\n                        } else {\n                            document.querySelector('.mobile-popup').style.display = 'block';\n                        }\n                        fetchPriceAndUpdatePopup();\n                        isPopupDisplayed = true;\n                    });\n                }\n            });\n        }\n    });\n\n    function fetchPriceAndUpdatePopup() {\n        fetch('https:\/\/wikiform.fr\/application\/learnify\/home\/course\/devenir-un-d%C3%A9veloppeur-python\/144')\n            .then(response => response.text())\n            .then(html => {\n                var parser = new DOMParser();\n                var fetchedDoc = parser.parseFromString(html, 'text\/html');\n                var priceElement = fetchedDoc.querySelector('.ammount .fw-500');\n                var originalPriceElement = fetchedDoc.querySelector('.ammount del');\n                var price = priceElement ? priceElement.textContent.trim() : '29.5\u20ac';\n                var originalPrice = originalPriceElement ? originalPriceElement.textContent.trim() : '59\u20ac';\n\n                document.getElementById('price').textContent = price;\n                document.getElementById('priceMobile').textContent = price;\n                document.querySelector('.desktop-popup del').textContent = originalPrice;\n                document.querySelector('.mobile-popup del').textContent = originalPrice;\n            })\n            .catch(error => console.error('Error fetching the price:', error));\n    }\n\n    function closePopup() {\n        document.querySelector('.desktop-popup').style.display = 'none';\n        document.querySelector('.mobile-popup').style.display = 'none';\n        player.play(); \/\/ Allows resuming the video only after closing the popup\n    }\n});\n<\/script>\n\n\n\n<p>Comprendre comment inverser une condition en JavaScript est essentiel pour \u00e9crire du code \u00e9l\u00e9gant et efficace. Utiliser l&rsquo;op\u00e9rateur de n\u00e9gation <code>!<\/code> est l&rsquo;une des fa\u00e7ons les plus courantes de v\u00e9rifier le contraire d&rsquo;une condition. Voyons comment cela fonctionne par le biais d&rsquo;exemples pratiques.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Utiliser l&rsquo;Op\u00e9rateur de N\u00e9gation<\/h3>\n\n\n\n<p>JavaScript fournit l&rsquo;op\u00e9rateur <code>!<\/code> pour inverser une condition bool\u00e9enne. Par exemple, si vous avez une condition qui retourne <code>true<\/code>, en utilisant <code>!<\/code>, vous pouvez la convertir en <code>false<\/code>. Voici un exemple :<\/p>\n\n\n\n<pre class=\"wp-block-code lang-javascript\"><code>let isMember = true;\n\nif (!isMember) {\n    console.log(\"Vous n'\u00eates pas membre.\");\n} else {\n    console.log(\"Bienvenue, membre !\");\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">N\u00e9gation avec Deux Conditions<\/h3>\n\n\n\n<p>Vous pouvez \u00e9galement utiliser la n\u00e9gation avec des conditions compos\u00e9es en combinant plusieurs expressions \u00e0 l&rsquo;aide de l&rsquo;op\u00e9rateur logique <code>||<\/code> ou <code>&&<\/code>. Par exemple :<\/p>\n\n\n\n<pre class=\"wp-block-code lang-javascript\"><code>let age = 20;\nlet hasPermission = false;\n\nif (!(age >= 18 && hasPermission)) {\n    console.log(\"Acc\u00e8s refus\u00e9.\");\n} else {\n    console.log(\"Acc\u00e8s autoris\u00e9.\");\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Inverser une Condition avec <code>ternary<\/code> Operators<\/h3>\n\n\n\n<p>Les op\u00e9rateurs ternaires sont un moyen compact de v\u00e9rifier des conditions et de retourner des valeurs en une seule ligne. Vous pouvez les utiliser pour v\u00e9rifier le contraire d&rsquo;une condition comme ceci :<\/p>\n\n\n\n<pre class=\"wp-block-code lang-javascript\"><code>let user = { name: null };\nlet greeting = !user.name ? \"Nom non fourni.\" : `Bonjour, ${user.name}!`;\n\nconsole.log(greeting);\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Utiliser <code>Array.prototype.every<\/code> pour V\u00e9rifier le Contraire des \u00c9l\u00e9ments<\/h3>\n\n\n\n<p>La m\u00e9thode <code>every<\/code> permet de v\u00e9rifier si tous les \u00e9l\u00e9ments d&rsquo;un tableau satisfont une condition. Pour v\u00e9rifier le contraire, vous pouvez utiliser <code>!every<\/code> :<\/p>\n\n\n\n<pre class=\"wp-block-code lang-javascript\"><code>let numbers = [1, 2, 3, 4, 5];\nlet allPositive = numbers.every(num => num > 0); \/\/ true\nlet allNonPositive = !numbers.every(num => num > 0); \/\/ false\n\nconsole.log(allNonPositive);\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Exemples Avanc\u00e9s de V\u00e9rification du Contraire des Conditions<\/h3>\n\n\n\n<p>Pour approfondir notre compr\u00e9hension, examinons quelques exemples avanc\u00e9s o\u00f9 cette technique peut \u00eatre b\u00e9n\u00e9fique. Dans ces cas, elle peut simplifier la logique conditionnelle et am\u00e9liorer la lisibilit\u00e9 du code.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">V\u00e9rifier les Permissions d&rsquo;Utilisateur<\/h4>\n\n\n\n<p>Dans une application r\u00e9elle, il est souvent n\u00e9cessaire de v\u00e9rifier si l&rsquo;utilisateur a ou non certaines permissions. Par exemple, si vous travaillez sur un projet o\u00f9 vous devez g\u00e9rer des permissions administratives, cette technique est tr\u00e8s utile. Voici un exemple pratique :<\/p>\n\n\n\n<pre class=\"wp-block-code lang-javascript\"><code>let userPermissions = [\"read\", \"write\"];\nlet hasAdminAccess = userPermissions.includes(\"admin\");\n\nif (!hasAdminAccess) {\n    console.log(\"Acc\u00e8s administrateur requis.\");\n} else {\n    console.log(\"Bienvenue, Administrateur !\");\n}\n<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Filtrer des \u00c9l\u00e9ments avec <code>Array.prototype.filter<\/code><\/h4>\n\n\n\n<p>Vous pouvez utiliser la m\u00e9thode <code>filter<\/code> pour obtenir uniquement les \u00e9l\u00e9ments qui ne satisfont pas une condition sp\u00e9cifique. Par exemple, lors de l&rsquo;utilisation de JavaScript dans un contexte de d\u00e9veloppement front-end, il peut \u00eatre fr\u00e9quent d&rsquo;avoir besoin de filtrer des tableaux d&rsquo;objets en fonction de leurs propri\u00e9t\u00e9s :<\/p>\n\n\n\n<pre class=\"wp-block-code lang-javascript\"><code>let tasks = [\n    { title: \"Task 1\", completed: true },\n    { title: \"Task 2\", completed: false },\n    { title: \"Task 3\", completed: true }\n];\n\nlet incompleteTasks = tasks.filter(task => !task.completed);\nconsole.log(incompleteTasks);\n<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Utiliser la N\u00e9gation dans une API Fetch<\/h4>\n\n\n\n<p>Dans une situation o\u00f9 vous voulez v\u00e9rifier que la r\u00e9ponse d&rsquo;une API n&rsquo;a pas de statut d&rsquo;erreur, vous pouvez utiliser la n\u00e9gation. Par exemple, lorsque vous travaillez avec des applications en ligne et que vous devez g\u00e9rer des connexions HTTP, cette m\u00e9thode simplifie grandement la gestion des erreurs :<\/p>\n\n\n\n<pre class=\"wp-block-code lang-javascript\"><code>fetch('https:\/\/api.example.com\/data')\n    .then(response => {\n        if (!response.ok) {\n            throw new Error('Erreur r\u00e9seau');\n        }\n        return response.json();\n    })\n    .then(data => {\n        console.log(data);\n    })\n    .catch(error => {\n        console.error('Erreur:', error);\n    });\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p>V\u00e9rifier le contraire d&rsquo;une condition en JavaScript est une technique puissante pour \u00e9crire du code plus lisible et maintenable. En utilisant l&rsquo;op\u00e9rateur de n\u00e9gation, les m\u00e9thodes de tableau et les op\u00e9rateurs ternaires, vous pouvez simplifier vos logiques conditionnelles et am\u00e9liorer la clart\u00e9 de votre code. Continuez \u00e0 explorer JavaScript pour ma\u00eetriser davantage de fonctionnalit\u00e9s et am\u00e9liorer vos comp\u00e9tences de d\u00e9veloppement.<\/p>\n\n\n\n<div>\n    <a href=\"https:\/\/wikiform.fr\/application\/learnify\/home\/course\/javascript-les-fondamentaux\/142\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" src=\"https:\/\/wikiform.fr\/codespace\/wp-content\/uploads\/2024\/07\/learnify-formation-JAVASCRIPT-offre-50.gif\" loading=\"lazy\" alt=\"Learnify Formation JavaScript Offre 50%\" title=\"\"><\/a>\n<\/div>\n\n\n\n<p>Pour plus de tutoriels JavaScript, consultez notre <a href=\"https:\/\/wikiform.fr\/application\/learnify\/home\/course\/javascript-les-fondamentaux\/142\">cours complet sur les fondamentaux de JavaScript<\/a>. Si vous \u00eates int\u00e9ress\u00e9 par des sujets similaires, vous pouvez visiter d&rsquo;autres guides comme <a href=\"https:\/\/wikiform.fr\/codespace\/qu-est-ce-que-javascript-explications-definition\" target=\"_blank\" rel=\"noopener\">Qu&rsquo;est-ce que JavaScript<\/a>, <a href=\"https:\/\/wikiform.fr\/codespace\/logiciels-pour-javascript-meilleurs-outils\" target=\"_blank\" rel=\"noopener\">Logiciels pour JavaScript<\/a>, ou encore <a href=\"https:\/\/wikiform.fr\/codespace\/extensions-pour-javascript-guide-complet\" target=\"_blank\" rel=\"noopener\">Extensions pour JavaScript<\/a>.<\/p>\n\n\n\n<p>En explorant ces sources, vous trouverez une mine d&rsquo;informations sur la d\u00e9claration de variables (\u00e9galement, consultez <a href=\"https:\/\/wikiform.fr\/codespace\/declarer-variables-en-javascript-let-const-var\" target=\"_blank\" rel=\"noopener\">D\u00e9clarer des Variables<\/a>), les op\u00e9rateurs Javascript avec une explication de l&rsquo;utilisation des guides pratiques comme la <a href=\"https:\/\/wikiform.fr\/codespace\/concatenation-en-javascript-guide-pratique\" target=\"_blank\" rel=\"noopener\">Concat\u00e9nation<\/a> ou <a href=\"https:\/\/wikiform.fr\/codespace\/utilisation-du-debogueur-en-javascript\" target=\"_blank\" rel=\"noopener\">D\u00e9bogueur<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>V\u00e9rifier le Contraire d&rsquo;une Condition en JavaScript est une comp\u00e9tence essentielle qui permet d&rsquo;optimiser et de rendre votre code plus lisible et maintenable. Comprendre comment&#8230;<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[9],"tags":[18],"class_list":["post-5574","post","type-post","status-publish","format-standard","hentry","category-4-javascript","tag-tutoriels"],"acf":[],"_titre_de_la_formation":null,"_description_":null,"_objectifs_pedagogiques":null,"_programme_":null,"_url_de_limage":null,"_materiel_necessaire":null,"_modalites_devaluation_des_acquis":null,"_moyens_pedagogiques_et_techniques":null,"_accessibilite_":null,"_formateur_":null,"menu_order":0,"_links":{"self":[{"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/posts\/5574","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/comments?post=5574"}],"version-history":[{"count":1,"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/posts\/5574\/revisions"}],"predecessor-version":[{"id":5575,"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/posts\/5574\/revisions\/5575"}],"wp:attachment":[{"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/media?parent=5574"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/categories?post=5574"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/tags?post=5574"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}