aboutsummaryrefslogtreecommitdiff
path: root/files/fr/web/javascript/reference/operators/logical_not
diff options
context:
space:
mode:
Diffstat (limited to 'files/fr/web/javascript/reference/operators/logical_not')
-rw-r--r--files/fr/web/javascript/reference/operators/logical_not/index.md91
1 files changed, 45 insertions, 46 deletions
diff --git a/files/fr/web/javascript/reference/operators/logical_not/index.md b/files/fr/web/javascript/reference/operators/logical_not/index.md
index da1f26ea14..783ba35fb0 100644
--- a/files/fr/web/javascript/reference/operators/logical_not/index.md
+++ b/files/fr/web/javascript/reference/operators/logical_not/index.md
@@ -8,88 +8,87 @@ tags:
- Operator
- Reference
browser-compat: javascript.operators.logical_not
-translation-of: Web/JavaScript/Reference/Operators/Logical_NOT
---
-<div>{{jsSidebar("Operators")}}</div>
+{{jsSidebar("Operators")}}
-<p>L'opérateur logique NON (<code>!</code>) prend l'opposé logique de la valeur fournie par son opérande. Vrai devient faux et vice versa. Il est généralement utilisé avec les <a href="/fr/docs/Web/JavaScript/Data_structures#boolean_type">booléens</a>. Lorsque cet opérateur est utilisé avec une valeur non-booléenne, il renvoie <code>false</code> si son opérande peut être converti en <code>true</code> et <code>true</code> sinon.</p>
+L'opérateur logique NON (`!`) prend l'opposé logique de la valeur fournie par son opérande. Vrai devient faux et vice versa. Il est généralement utilisé avec les [booléens](/fr/docs/Web/JavaScript/Data_structures#boolean_type). Lorsque cet opérateur est utilisé avec une valeur non-booléenne, il renvoie `false` si son opérande peut être converti en `true` et `true` sinon.
-<div>{{EmbedInteractiveExample("pages/js/expressions-logical-not.html", "shorter")}}</div>
+{{EmbedInteractiveExample("pages/js/expressions-logical-not.html", "shorter")}}
-<h2 id="syntax">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">
-!<var>expr</var>
-</pre>
+```js
+!expr
+```
-<h2 id="description">Description</h2>
+## Description
-<p>Cet opérateur renvoie <code>false</code> si son opérande peut être converti en <code>true</code> ; sinon il renvoie <code>true</code>.</p>
+Cet opérateur renvoie `false` si son opérande peut être converti en `true` ; sinon il renvoie `true`.
-<p>Si une valeur peut être convertie en <code>true</code>, on dira en anglais qu'elle est <a href="/fr/docs/Glossary/Truthy"><i>truthy</i></a>. À l'inverse, si elle peut être convertie en <code>false</code>, on dira en anglais qu'elle est <a href="/fr/docs/Glossary/Falsy"><i>falsy</i></a>.</p>
+Si une valeur peut être convertie en `true`, on dira en anglais qu'elle est [_truthy_](/fr/docs/Glossary/Truthy). À l'inverse, si elle peut être convertie en `false`, on dira en anglais qu'elle est [_falsy_](/fr/docs/Glossary/Falsy).
-<p>Voici des exemples d'expression qui peuvent être converties en <code>false</code> :</p>
+Voici des exemples d'expression qui peuvent être converties en `false` :
-<ul>
- <li><code>null</code> ;</li>
- <li><code>NaN</code> ;</li>
- <li><code>0</code> ;</li>
- <li>la chaîne vide (<code>""</code> ou <code>''</code> ou <code>``</code>) ;</li>
- <li><code>undefined</code>.</li>
-</ul>
+- `null` ;
+- `NaN` ;
+- `0` ;
+- la chaîne vide (`""` ou `''` ou ` `` `) ;
+- `undefined`.
-<p>Bien que l'opérateur <code>!</code> puisse être utilisé avec des opérandes non booléens, sa valeur de retour sera toujours un <a href="/fr/docs/Web/JavaScript/Data_structures#boolean_type">booléen</a>. Pour convertir une valeur (ou une expression) en sa valeur booléenne correspondante, on pourra utiliser un double NON ou le constructeur <a href="/fr/docs/Web/JavaScript/Reference/Global_Objects/Boolean"><code>Boolean</code></a>.</p>
+Bien que l'opérateur `!` puisse être utilisé avec des opérandes non booléens, sa valeur de retour sera toujours un [booléen](/fr/docs/Web/JavaScript/Data_structures#boolean_type). Pour convertir une valeur (ou une expression) en sa valeur booléenne correspondante, on pourra utiliser un double NON ou le constructeur [`Boolean`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Boolean).
-<h2 id="examples">Exemples</h2>
+## Exemples
-<h3 id="using_NOT">Utiliser NON</h3>
+### Utiliser NON
-<p>Le code suivant illustre l'utilisation de l'opérateur <code>!</code> pour le NON logique.</p>
+Le code suivant illustre l'utilisation de l'opérateur `!` pour le NON logique.
-<pre class="brush: js">
+```js
let n1 = !true // !t renvoie false
let n2 = !false // !f renvoie true
let n3 = !'' // !f renvoie true
let n4 = !'Cat' // !t renvoie false
-</pre>
+```
-<h3 id="Double_NOT_!!">Double NON (<code>!!</code>)</h3>
+### Double NON (`!!`)
-<p>Il est possible d'utiliser deux opérateurs NON à la suite pour convertir n'importe quelle valeur en booléen selon qu'elle est <a href="/fr/docs/Glossary/Truthy"><i>truthy</i></a> ou <a href="/fr/docs/Glossary/Falsy"><i>falsy</i></a>.</p>
+Il est possible d'utiliser deux opérateurs NON à la suite pour convertir n'importe quelle valeur en booléen selon qu'elle est [_truthy_](/fr/docs/Glossary/Truthy) ou [_falsy_](/fr/docs/Glossary/Falsy).
-<p>Une conversion équivalente pourra être obtenue avec le constructeur <a href="/fr/docs/Web/JavaScript/Reference/Global_Objects/Boolean"><code>Boolean</code></a>.</p>
+Une conversion équivalente pourra être obtenue avec le constructeur [`Boolean`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Boolean).
-<pre class="brush: js">
+```js
let n1 = !!true // !!truthy renvoie true
-let n2 = !!{} // !!truthy renvoie true : <strong>tout</strong> objet est truthy
+let n2 = !!{} // !!truthy renvoie true : tout objet est truthy
let n3 = !!(new Boolean(false)) // Attention, un objet Boolean est toujours truthy !
let n4 = !!false // !!falsy renvoie false
let n5 = !!"" // !!falsy renvoie false
let n6 = !!Boolean(false) // !!falsy renvoie false
-</pre>
+```
-<h3 id="Converting_between_NOTs">Équivalence booléenne de la double négation</h3>
+### Équivalence booléenne de la double négation
-<p>L'expression qui suit, utilisée avec des booléens :</p>
+L'expression qui suit, utilisée avec des booléens :
-<pre class="brush: js">!!bCondition</pre>
+```js
+!!bCondition
+```
-<p>est toujours égale à :</p>
+est toujours égale à :
-<pre class="brush: js">bCondition</pre>
+```js
+bCondition
+```
-<h2 id="specifications">Spécifications</h2>
+## Spécifications
-<p>{{Specifications}}</p>
+{{Specifications}}
-<h2 id="browser_compatibility">Compatibilité des navigateurs</h2>
+## Compatibilité des navigateurs
-<p>{{Compat}}</p>
+{{Compat}}
-<h2 id="see_also">Voir aussi</h2>
+## Voir aussi
-<ul>
- <li>{{jsxref("Boolean")}}</li>
- <li>{{Glossary("Truthy")}}</li>
- <li>{{Glossary("Falsy")}}</li>
-</ul>
+- {{jsxref("Boolean")}}
+- {{Glossary("Truthy")}}
+- {{Glossary("Falsy")}}