From 500f444d23a7a758da229ebe6b9691cc5d4fe731 Mon Sep 17 00:00:00 2001 From: SphinxKnight Date: Wed, 16 Mar 2022 17:52:18 +0100 Subject: Fix #4269 - Removes empty/special characters (#4270) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Remove ufeff * Remove u2064 * Remove u2062 * Replace u202f followed by : with  : * Replace u202f next to « or » with   and « or » * Replace u202f followed by ; with  ; * Replace u202f followed by ! with   * Replace u202f followed by ? with  ? * Replace remaining u202f with classical space * Replace u200b surrounded by space with classical space * Replace u200b surrounded by space with classical space - again (repeated) * Remove remaining u200b * Remove u200a * Replace u2009 with   * Remove u00ad * Replace u00a0 followed by : ! or ? with   and punctuation * Replace u00a0 surrounded « or » with   and punctuation * Replace u00a0 followed by whitespaces * Replace u00a0 preceded by whitespaces * Replace u00a0 followed by a newline with a newline * Replace u00a0 followed by a newline with a newline - Take2 * Replace u00a0 followed by a ;   and punctuation * Remove u00a0 followed by , * Remove u00a0 in indentation spaces with \n([ ]*)([\u00a0])([ ]*) * Manual replacement of ([\u00a0])([ ]+) * Replace remaining ([\u00a0]+) by a space * cleaning empty elements * remove ufe0f * Remove u00a0 and u202f after merging against updated main * remove double whitespace using (\w)( )(\w) --- .../guide/details_of_the_object_model/index.md | 2 +- .../guide/expressions_and_operators/index.md | 8 +-- files/fr/web/javascript/guide/functions/index.md | 10 ++-- .../javascript/guide/grammar_and_types/index.md | 6 +-- .../javascript/guide/indexed_collections/index.md | 2 +- .../javascript/guide/keyed_collections/index.md | 4 +- .../javascript/guide/loops_and_iteration/index.md | 2 +- .../web/javascript/guide/meta_programming/index.md | 2 +- .../javascript/guide/numbers_and_dates/index.md | 4 +- .../guide/regular_expressions/assertions/index.md | 2 +- .../regular_expressions/character_classes/index.md | 6 +-- .../guide/regular_expressions/cheatsheet/index.md | 2 +- .../regular_expressions/groups_and_ranges/index.md | 2 +- .../javascript/guide/regular_expressions/index.md | 8 +-- .../unicode_property_escapes/index.md | 56 +++++++++---------- .../web/javascript/guide/text_formatting/index.md | 62 +++++++++++----------- .../web/javascript/guide/using_promises/index.md | 8 +-- .../javascript/guide/working_with_objects/index.md | 4 +- 18 files changed, 95 insertions(+), 95 deletions(-) (limited to 'files/fr/web/javascript/guide') diff --git a/files/fr/web/javascript/guide/details_of_the_object_model/index.md b/files/fr/web/javascript/guide/details_of_the_object_model/index.md index 08e7f1d3b2..a662775f77 100644 --- a/files/fr/web/javascript/guide/details_of_the_object_model/index.md +++ b/files/fr/web/javascript/guide/details_of_the_object_model/index.md @@ -127,7 +127,7 @@ Cela montre une hiérarchie d'objets avec les objets suivants : - `Manager` est basé sur `Employee`. Il ajoute la propriété `reports` (« les rapports » dont la valeur par défaut est un tableau vide, destiné à avoir pour valeur un tableau d'objets `Employee`). - `WorkerBee` est également basé sur `Employee`. Il ajoute la propriété `projects` (« les projets » dont la valeur par défaut est un tableau vide, destiné à avoir pour valeur un tableau de chaînes de caractères). - `SalesPerson` est basé sur `WorkerBee`. Il ajoute la propriété `quota` (dont la valeur par défaut est 100). Il surcharge la propriété `dept` avec la valeur « ventes », indiquant que tous les vendeurs sont dans le même département. -- `Engineer` est basé sur `WorkerBee`. Il ajoute la propriété `machine` (dont la valeur par défaut est une chaîne de caractères vide) et surcharge également la propriété `dept` avec la valeur « ingénierie ». +- `Engineer` est basé sur `WorkerBee`. Il ajoute la propriété `machine` (dont la valeur par défaut est une chaîne de caractères vide) et surcharge également la propriété `dept` avec la valeur « ingénierie ». ## La création de la hiérarchie diff --git a/files/fr/web/javascript/guide/expressions_and_operators/index.md b/files/fr/web/javascript/guide/expressions_and_operators/index.md index ac93c75557..f030de6473 100644 --- a/files/fr/web/javascript/guide/expressions_and_operators/index.md +++ b/files/fr/web/javascript/guide/expressions_and_operators/index.md @@ -267,7 +267,7 @@ En plus des opérations arithmétiques standards (+,-,\*,/), JavaScript fournit href="/fr/docs/Web/JavaScript/Reference/Op%C3%A9rateurs/Op%C3%A9rateurs_arithm%C3%A9tiques#Reste_(.25)" >Reste - (%)
  + (%)
Opérateur binaire. Renvoie le reste entier de la division entre les deux @@ -437,7 +437,7 @@ Les opérateurs de décalage sont énumérés dans le tableau qui suit. 9<<2 renvoie 36, car 1001, décalé de 2 bits à - gauche, devient  100100, dont la représentation en base 10 est  36. + gauche, devient 100100, dont la représentation en base 10 est 36. @@ -454,7 +454,7 @@ Les opérateurs de décalage sont énumérés dans le tableau qui suit. 9>>2 renvoie 2, car 1001, décalé de 2 bits à droite, - devient 10 représentant 2. De même  -9>>2 renvoie -3, car + devient 10 représentant 2. De même -9>>2 renvoie -3, car le signe est préservé. @@ -770,7 +770,7 @@ L'opérateur `void` indique qu'une expression doit être évaluée sans retourne L'opérateur `void` peut être utilisé pour spécifier une expression comme un lien hypertexte, l'expression est évaluée mais n'est pas chargée à la place du document actuel. -Le fragment de code  qui suit crée un lien hypertexte qui ne fait rien lorsque l'utilisateur clique dessus. Lorsqu'on clique sur le lien, `void(0)` est évalué à `undefined`, n'ayant aucun effet. +Le fragment de code qui suit crée un lien hypertexte qui ne fait rien lorsque l'utilisateur clique dessus. Lorsqu'on clique sur le lien, `void(0)` est évalué à `undefined`, n'ayant aucun effet. ```html Cliquer ici pour ne rien faire diff --git a/files/fr/web/javascript/guide/functions/index.md b/files/fr/web/javascript/guide/functions/index.md index 7c4322b0f1..7671353ca5 100644 --- a/files/fr/web/javascript/guide/functions/index.md +++ b/files/fr/web/javascript/guide/functions/index.md @@ -488,7 +488,7 @@ var créerAnimal = function(nom) { // La fonction externe définit une variable } ``` -L'opérateur [`this`](/fr/docs/Web/JavaScript/Reference/Op%C3%A9rateurs/L_op%C3%A9rateur_this) doit être traité avec précaution dans les fermetures. Attention, `this` fait référence au contexte où la fonction est appelée et non à l'endroit où il est défini. +L'opérateur [`this`](/fr/docs/Web/JavaScript/Reference/Op%C3%A9rateurs/L_op%C3%A9rateur_this) doit être traité avec précaution dans les fermetures. Attention, `this` fait référence au contexte où la fonction est appelée et non à l'endroit où il est défini. ## Utiliser l'objet `arguments` @@ -580,7 +580,7 @@ console.log(arr); // [2, 4, 6] ## Fonctions fléchées -[Une expression de fonction fléchée](/fr/docs/Web/JavaScript/Reference/Fonctions/Fonctions_fléchées) permet d'utiliser une syntaxe plus concise que les expressions de fonctions classiques. Une telle fonction ne possède alors pas de valeur propre pour [`this`](/fr/docs/Web/JavaScript/Reference/Opérateurs/L_opérateur_this), [`arguments`](/fr/docs/Web/JavaScript/Reference/Fonctions/arguments), [`super`](/fr/docs/Web/JavaScript/Reference/Opérateurs/super) ou [`new.target`](/fr/docs/Web/JavaScript/Reference/Opérateurs/new.target). Les fonctions fléchées sont nécessairement anonymes. +[Une expression de fonction fléchée](/fr/docs/Web/JavaScript/Reference/Fonctions/Fonctions_fléchées) permet d'utiliser une syntaxe plus concise que les expressions de fonctions classiques. Une telle fonction ne possède alors pas de valeur propre pour [`this`](/fr/docs/Web/JavaScript/Reference/Opérateurs/L_opérateur_this), [`arguments`](/fr/docs/Web/JavaScript/Reference/Fonctions/arguments), [`super`](/fr/docs/Web/JavaScript/Reference/Opérateurs/super) ou [`new.target`](/fr/docs/Web/JavaScript/Reference/Opérateurs/new.target). Les fonctions fléchées sont nécessairement anonymes. Les fonctions fléchées ont été introduites pour deux raisons principales : une syntaxe plus courte et l'absence de `this` rattaché à la fonction. Voir aussi [ce billet sur tech.mozfr.org sur les fonctions fléchées](https://tech.mozfr.org/post/2015/06/10/ES6-en-details-%3A-les-fonctions-flechees). @@ -597,7 +597,7 @@ var a = [ "Hydrogen", "Helium", "Lithium", - "Beryl­lium" + "Beryllium" ]; var a2 = a.map(function(s){ return s.length }); @@ -613,13 +613,13 @@ Avant les fonctions fléchées, chaque nouvelle fonction définissait sa propre ```js function Personne() { // Le constructeur Personne() utilise `this` comme lui-même. -  this.âge = 0; + this.âge = 0; setInterval(function grandir() { // En mode non-strict, la fonction grandir() définit `this` // avec l'objet global, qui est donc différent du `this` // défini par le constructeur Person(). -   this.âge++; + this.âge++; }, 1000); } diff --git a/files/fr/web/javascript/guide/grammar_and_types/index.md b/files/fr/web/javascript/guide/grammar_and_types/index.md index b0949d9c01..27bfab4cf7 100644 --- a/files/fr/web/javascript/guide/grammar_and_types/index.md +++ b/files/fr/web/javascript/guide/grammar_and_types/index.md @@ -60,7 +60,7 @@ Il existe trois types de déclarations de variable en JavaScript. Les variables sont utilisées comme des noms symboliques désignant les valeurs utilisées dans l'application. Les noms des variables sont appelés _identifiants_. Ces identifiants doivent respecter certaines règles. Un identifiant JavaScript doit commencer par une lettre, un tiret bas (\_) ou un symbole dollar ($). Les caractères qui suivent peuvent être des chiffres (0 à 9). -À noter : puisque Javascript est sensible aux majuscules et minuscules: les lettres peuvent comprendre les caractères de « A » à « Z » (en majuscule) mais aussi les caractères  de « a » à « z » (en minuscule). +À noter : puisque Javascript est sensible aux majuscules et minuscules: les lettres peuvent comprendre les caractères de « A » à « Z » (en majuscule) mais aussi les caractères de « a » à « z » (en minuscule). On peut aussi utiliser la plupart lettres Unicode ou ISO 8859-1 (comme å et ü, pour plus de détails, voir [ce billet de blog, en anglais](https://mathiasbynens.be/notes/javascript-identifiers-es6)) au sein des identifiants. Il est également possible d'utiliser les \uXXXX [séquences d'échappement Unicode](<#littéraux chaînes>) comme caractères dans les identifiants. @@ -295,7 +295,7 @@ Bien que cette description couvre peu de types de données, ceux-ci vous permett ### Conversion de types de données -JavaScript est un langage à typage dynamique. Cela signifie qu'il n'est pas nécessaire de spécifier le type de données d'une variable lors de sa déclaration. Les types de données sont convertis automatiquement durant l'exécution du script. Ainsi, il est possible de définir une variable de cette façon : +JavaScript est un langage à typage dynamique. Cela signifie qu'il n'est pas nécessaire de spécifier le type de données d'une variable lors de sa déclaration. Les types de données sont convertis automatiquement durant l'exécution du script. Ainsi, il est possible de définir une variable de cette façon : ```js var réponse = 42; @@ -614,7 +614,7 @@ Voici un tableau listant les caractères spéciaux qu'il est possible d'utiliser Pour les caractères qui ne font pas partie du tableau précédent, les barres obliques inversées (_backslash_) les précédant sont ignorées. Cependant, cet usage est obsolète et devrait être évité. -En précédant d'une barre oblique inversée les guillemets droits doubles, on _échappe_ ces caractères. Voici un exemple : +En précédant d'une barre oblique inversée les guillemets droits doubles, on _échappe_ ces caractères. Voici un exemple : ```js var citation = "Il lit \"Bug Jargal\" de V. Hugo."; diff --git a/files/fr/web/javascript/guide/indexed_collections/index.md b/files/fr/web/javascript/guide/indexed_collections/index.md index d50654f3a9..6082ecab58 100644 --- a/files/fr/web/javascript/guide/indexed_collections/index.md +++ b/files/fr/web/javascript/guide/indexed_collections/index.md @@ -171,7 +171,7 @@ Si on sait qu'aucun des éléments ne vaut `false` dans un contexte booléen (pa ```js let divs = document.getElementsByTagName('div'); for (let i = 0, div; div = divs[i]; i++) { - /* On effectue un traitement sur les div */ + /* On effectue un traitement sur les div */ } ``` diff --git a/files/fr/web/javascript/guide/keyed_collections/index.md b/files/fr/web/javascript/guide/keyed_collections/index.md index bef70f4b38..aa03492eed 100644 --- a/files/fr/web/javascript/guide/keyed_collections/index.md +++ b/files/fr/web/javascript/guide/keyed_collections/index.md @@ -33,7 +33,7 @@ sayings.has("bird"); // false sayings.delete("dog"); for (var [key, value] of sayings) { -  console.log(key + " goes " + value); + console.log(key + " goes " + value); } // "cat goes meow" // "elephant goes toot" @@ -88,7 +88,7 @@ module.exports = Public; Les objets {{jsxref("Set")}} sont des ensembles de valeurs. Il est possible de les parcourir dans l'ordre d'insertion des éléments. Une valeur d'un élément `Set` ne peut y apparaître qu'une seule fois, il est unique pour cette instance de `Set`. -Le code suivant illustre certaines opérations basiques avec `Set`. Voir aussi la page {{jsxref("Set")}} pour plus d'exemples et l'API complète. +Le code suivant illustre certaines opérations basiques avec `Set`. Voir aussi la page {{jsxref("Set")}} pour plus d'exemples et l'API complète. ```js var monEnsemble = new Set(); diff --git a/files/fr/web/javascript/guide/loops_and_iteration/index.md b/files/fr/web/javascript/guide/loops_and_iteration/index.md index 8adb3d18af..af4647d00f 100644 --- a/files/fr/web/javascript/guide/loops_and_iteration/index.md +++ b/files/fr/web/javascript/guide/loops_and_iteration/index.md @@ -327,7 +327,7 @@ L'instruction {{jsxref("statements/for...of","for...of")}} crée une boucle qui instruction } -Dans l'exemple suivant, on illustre la différence entre une boucle `for...of` et une boucle [`for...in`](/fr/docs/Web/JavaScript/Reference/Instructions/for...in).  `for...in` parcourt les noms des propriétés d'un objet alors que `for...of` parcourt les **valeurs** des propriétés : +Dans l'exemple suivant, on illustre la différence entre une boucle `for...of` et une boucle [`for...in`](/fr/docs/Web/JavaScript/Reference/Instructions/for...in). `for...in` parcourt les noms des propriétés d'un objet alors que `for...of` parcourt les **valeurs** des propriétés : ```js let arr = [3, 5, 7]; diff --git a/files/fr/web/javascript/guide/meta_programming/index.md b/files/fr/web/javascript/guide/meta_programming/index.md index 8564629cd6..80c99b7eb3 100644 --- a/files/fr/web/javascript/guide/meta_programming/index.md +++ b/files/fr/web/javascript/guide/meta_programming/index.md @@ -319,7 +319,7 @@ Le tableau suivant résume les différentes trappes disponibles pour les objets

Le résultat de ownKeys est une liste.

Le type de chaque élément de la liste est soit une - {{jsxref("String")}} soit un  {{jsxref("Symbol")}}.

La + {{jsxref("String")}} soit un {{jsxref("Symbol")}}.

La liste résultatnte doit contenir les clés de toutes les propriétés non-configurables de l'objet cible.

Si l'objet cible n'est pas extensible, la liste résultante doit contenir toutes les clés des diff --git a/files/fr/web/javascript/guide/numbers_and_dates/index.md b/files/fr/web/javascript/guide/numbers_and_dates/index.md index 33d7e90ae3..cfe7f886cc 100644 --- a/files/fr/web/javascript/guide/numbers_and_dates/index.md +++ b/files/fr/web/javascript/guide/numbers_and_dates/index.md @@ -146,7 +146,7 @@ Le tableau qui suit liste certaines des propriétés de `Number`. {{jsxref("Number.MIN_SAFE_INTEGER")}} - Le plus petit entier qu'on puisse représenter en JavaScript. (−2^53 + 1 + Le plus petit entier qu'on puisse représenter en JavaScript. (−2^53 + 1 ou −9007199254740991) @@ -204,7 +204,7 @@ Le tableau suivant liste les méthodes de l'objet `Math`. | {{jsxref("Math.asin", "asin()")}}, {{jsxref("Math.acos", "acos()")}}, {{jsxref("Math.atan", "atan()")}}, {{jsxref("Math.atan2", "atan2()")}} | Fonctions trigonométriques inverses (les valeurs renvoyées sont exprimées en radians) | | {{jsxref("Math.sinh", "sinh()")}}, {{jsxref("Math.cosh", "cosh()")}}, {{jsxref("Math.tanh", "tanh()")}} | Fonctions trigonométriques hyperboliques (les arguments sont exprimés en radians) | | {{jsxref("Math.asinh", "asinh()")}}, {{jsxref("Math.acosh", "acosh()")}}, {{jsxref("Math.atanh", "atanh()")}} | Fonctions trigonométriques hyperboliques inverses (les valeurs renvoyées sont exprimées en radians). | -| {{jsxref("Math.pow", "pow()")}}, {{jsxref("Math.exp", "exp()")}}, {{jsxref("Math.expm1", "expm1()")}}, {{jsxref("Math.log10", "log10()")}}, {{jsxref("Math.log1p", "log1p()")}}, {{jsxref("Math.log2", "log2()")}} | Fonctions exponentielles et logarithmiques | +| {{jsxref("Math.pow", "pow()")}}, {{jsxref("Math.exp", "exp()")}}, {{jsxref("Math.expm1", "expm1()")}}, {{jsxref("Math.log10", "log10()")}}, {{jsxref("Math.log1p", "log1p()")}}, {{jsxref("Math.log2", "log2()")}} | Fonctions exponentielles et logarithmiques | | {{jsxref("Math.floor", "floor()")}}, {{jsxref("Math.ceil", "ceil()")}} | Renvoie le plus petit/grand entier inférieur/supérieur ou égal à l'argument donné | | {{jsxref("Math.min", "min()")}}, {{jsxref("Math.max", "max()")}} | Renvoie le plus petit (resp. grand) nombre d'une liste de nombres séparés par des virgules | | {{jsxref("Math.random", "random()")}} | Renvoie un nombre aléatoire compris entre 0 et 1 | diff --git a/files/fr/web/javascript/guide/regular_expressions/assertions/index.md b/files/fr/web/javascript/guide/regular_expressions/assertions/index.md index 1e1dbb1a9d..1d722fdc94 100644 --- a/files/fr/web/javascript/guide/regular_expressions/assertions/index.md +++ b/files/fr/web/javascript/guide/regular_expressions/assertions/index.md @@ -85,7 +85,7 @@ Les assertions indiquent les conditions selon lesquelles il est possible d'avoir seulement si celui-ci n'est pas précédé d'un signe moins.
/(?<!-)\d+/.exec('3') - cible "3".
 /(?<!-)\d+/.exec('-3')  ne trouve + cible "3".
/(?<!-)\d+/.exec('-3') ne trouve aucune correspondance car le nombre est précédé d'un signe

diff --git a/files/fr/web/javascript/guide/regular_expressions/character_classes/index.md b/files/fr/web/javascript/guide/regular_expressions/character_classes/index.md index 1d37d5b70d..a961431760 100644 --- a/files/fr/web/javascript/guide/regular_expressions/character_classes/index.md +++ b/files/fr/web/javascript/guide/regular_expressions/character_classes/index.md @@ -32,8 +32,8 @@ Les classes de caractères permettent de distinguer différents ensembles de car un caractère de saut de ligne.

- Ainsi, /.n/ correspond à  'un' et 'en' dans "Un baobab - nain en cours de  croissance" mais pas à 'nain'. + Ainsi, /.n/ correspond à 'un' et 'en' dans "Un baobab + nain en cours de croissance" mais pas à 'nain'.

Si le marqueur s (dotAll) est utilisé, le point @@ -114,7 +114,7 @@ Les classes de caractères permettent de distinguer différents ensembles de car >.

- Ainsi, /\s\w*/ correspond à ' toto' dans "truc toto". + Ainsi, /\s\w*/ correspond à ' toto' dans "truc toto".

diff --git a/files/fr/web/javascript/guide/regular_expressions/cheatsheet/index.md b/files/fr/web/javascript/guide/regular_expressions/cheatsheet/index.md index e0abf47c98..0810295fe6 100644 --- a/files/fr/web/javascript/guide/regular_expressions/cheatsheet/index.md +++ b/files/fr/web/javascript/guide/regular_expressions/cheatsheet/index.md @@ -121,7 +121,7 @@ Cette page fournit une « antisèche » sur l'ensemble des fonctionnal

- Correspond à un caractère de contrôle représenté par sa notation caret, où "X" est une lettre de A à Z (correspondant respectivement aux points de code U+0001 à U+001F). Ainsi, /\cM/ correspondra à "\r" dans "\r\n". + Correspond à un caractère de contrôle représenté par sa notation caret, où "X" est une lettre de A à Z (correspondant respectivement aux points de code U+0001 à U+001F). Ainsi, /\cM/ correspondra à "\r" dans "\r\n".

diff --git a/files/fr/web/javascript/guide/regular_expressions/groups_and_ranges/index.md b/files/fr/web/javascript/guide/regular_expressions/groups_and_ranges/index.md index 1233a65060..6c35be5342 100644 --- a/files/fr/web/javascript/guide/regular_expressions/groups_and_ranges/index.md +++ b/files/fr/web/javascript/guide/regular_expressions/groups_and_ranges/index.md @@ -46,7 +46,7 @@ Les groupes et intervalles permettent de représenter des groupes ou des interva pas considérés comme spéciaux au sein d'un ensemble et n'ont donc pas besoin d'être échappés. Il est possible de donner un ensemble sur un intervalle de caractères en utilisant un tiret (-), comme le montre - l'exemple qui suit.

Le motif [a-d],  aura les + l'exemple qui suit.

Le motif [a-d], aura les mêmes correspondances que [abcd], correspondant au 'b' de "bulle" et au 'c' de "ciel". Les motifis /[a-z.]+/ et /[\w.]+/ correspondront pour la chaîne entirère : diff --git a/files/fr/web/javascript/guide/regular_expressions/index.md b/files/fr/web/javascript/guide/regular_expressions/index.md index 2010b7ff34..d97bc904e4 100644 --- a/files/fr/web/javascript/guide/regular_expressions/index.md +++ b/files/fr/web/javascript/guide/regular_expressions/index.md @@ -631,7 +631,7 @@ Afin d'échapper les informations saisies par l'utilisateur et de traîter les c function escapeRegExp(string){ // $& correspond à la chaîne correspondante // dans son intégralité -  return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); + return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); } ``` @@ -645,13 +645,13 @@ Les parenthèses encadrant une partie du motif de l'expression régulière peuve Ainsi, le motif `/Chapitre (\d+)\.\d*/` utilise des caractères échappés et spéciaux et indique une partie du motif à garder en mémoire. Ce motif correspond aux caractères 'Chapitre ' suivi par un ou plusieurs caractères numériques (`\d` correspond à un chiffre et `+` indiquant que une série de 1 ou plusieurs chiffres), suivis par un point (qu'il est nécessaire d'échapper car c'est un caractère spécial, on utilise donc '\\' pour indiquer qu'on souhaite reconnaître le caractère '.'), suivi par 0 ou plusieurs chiffres (`\d` correspondant à un chiffre et l'astérisque indiquant que le caractère est présent 0 ou plusieurs fois). Les parenthèses sont utilisées pour garder en mémoire les premiers chiffres correspondant. -Ce motif est trouvé dans "Ouvrir le Chapitre 4.3 au paragraphe 6" et le chiffre '4' est gardé en mémoire. Le motif n'est pas trouvé dans  "Chapitre 3 et 4", car la chaîne de caractères ne comporte pas de point après le '3'. +Ce motif est trouvé dans "Ouvrir le Chapitre 4.3 au paragraphe 6" et le chiffre '4' est gardé en mémoire. Le motif n'est pas trouvé dans "Chapitre 3 et 4", car la chaîne de caractères ne comporte pas de point après le '3'. Pour qu'une partie de la chaîne de caractère corresponde mais que la correspondance ne soit pas gardée en mémoire, on pourra utiliser `?:`. Ainsi, `(?:\d+)` correspondra pour une séquence de chiffres (1 ou plusieurs chiffres) mais on ne gardera pas en mémoire les caractères correspondants. ## Utiliser les expressions rationnelles -Les expresssions régulières sont utilisées avec les méthodes `test` et `exec` de l'objet `RegExp` et avec les méthodes `match`, `replace`, `search`, et `split` de l'objet `String`. Ces méthodes sont expliquées en détail dans la [Référence JavaScript](/fr/docs/Web/JavaScript/Reference). +Les expresssions régulières sont utilisées avec les méthodes `test` et `exec` de l'objet `RegExp` et avec les méthodes `match`, `replace`, `search`, et `split` de l'objet `String`. Ces méthodes sont expliquées en détail dans la [Référence JavaScript](/fr/docs/Web/JavaScript/Reference). | Méthode | Description | | -------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | @@ -843,7 +843,7 @@ pour obtenir le même résultat. Le comportement du marqueur `'g'` est différent selon qu'il est utilisé avec [`exec()`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/RegExp/exec) ou avec [`match()`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/String/match). Pour `match()`, c'est la chaîne de caractères qui invoque la méthode et l'expression rationnelle est alors un argument. Pour `exec()`, c'est l'expression rationnelle qui invoque la méthode et c'est la chaîne de caractères qui est passée en argument. Dans l'appel à `exec()`, le marqueur `'g'` permet d'avoir une progression itérative. -Le marqueur `m` pourra être utilisé pour traiter une chaîne de caractères de plusieurs lignes comme plusieurs lignes distinctes. Si ce marqueur est utilisé, les caractères spéciaux `^` et `$` correspondront au début ou à la fin de n'importe quelle ligne appartenant à la chaîne de caractères au lieu de correspondre simplement au début ou à la fin de la chaîne. +Le marqueur `m` pourra être utilisé pour traiter une chaîne de caractères de plusieurs lignes comme plusieurs lignes distinctes. Si ce marqueur est utilisé, les caractères spéciaux `^` et `$` correspondront au début ou à la fin de n'importe quelle ligne appartenant à la chaîne de caractères au lieu de correspondre simplement au début ou à la fin de la chaîne. ## Exemples diff --git a/files/fr/web/javascript/guide/regular_expressions/unicode_property_escapes/index.md b/files/fr/web/javascript/guide/regular_expressions/unicode_property_escapes/index.md index f7b7b5c99c..732a3113f9 100644 --- a/files/fr/web/javascript/guide/regular_expressions/unicode_property_escapes/index.md +++ b/files/fr/web/javascript/guide/regular_expressions/unicode_property_escapes/index.md @@ -42,34 +42,34 @@ Les séquences d'échappement pour les propriétés Unicode permettent de distin | `\p{Dash_Punctuation} \p{UnicodePropertyName=Dash_Punctuation}` | | | `\p{Decimal_Number} \p{UnicodePropertyName=Decimal_Number}` | | | `\p{Enclosing_Mark} \p{UnicodePropertyName=Enclosing_Mark}` | | -| `\p{Final_Punctuation} ​​​​​​​\p{UnicodePropertyName=Final_Punctuation}` | | -| `\p{Format} ​​​​​​​\p{UnicodePropertyName=Format}` | | -| `\p{Initial_Punctuation} ​​​​​​​\p{UnicodePropertyName=Initial_Punctuation}` | | -| `\p{Letter} ​​​​​​​\p{UnicodePropertyName=Letter}` | | -| `\p{Letter_Number} ​​​​​​​\p{UnicodePropertyName=Line_Separator}` | | -| `\p{Lowercase_Letter} ​​​​​​​\p{UnicodePropertyName=Lowercase_Letter}` | | -| `\p{Mark} ​​​​​​​\p{UnicodePropertyName=Mark}` | | -| `\p{Math_Symbol;} ​​​​​​​\p{UnicodePropertyName=Math_Symbol}` | | -| `\p{Modifier_Letter} ​​​​​​​\p{UnicodePropertyName=Modifier_Letter}` | | -| `\p{Modifier_Symbol} ​​​​​​​\p{UnicodePropertyName=Modifier_Symbol}` | | -| `\p{Nonspacing_Mark} ​​​​​​​\p{UnicodePropertyName=Nonspacing_Mark}` | | -| `\p{Number} ​​​​​​​\p{UnicodePropertyName=Number}` | | -| `\p{Open_Punctuation} ​​​​​​​\p{UnicodePropertyName=Open_Punctuation}` | | -| `\p{Other} ​​​​​​​\p{UnicodePropertyName=Other_Letter}` | | -| `\p{Other_Letter} ​​​​​​​\p{UnicodePropertyName=Other_Letter}` | | -| `\p{Other_Number} ​​​​​​​\p{UnicodePropertyName=Other_Number}` | | -| `\p{Other_Punctuation} ​​​​​​​\p{UnicodePropertyName=Other_Punctuation}` | | -| `\p{Paragraph_Separator} ​​​​​​​\p{UnicodePropertyName=Paragraph_Separator}` | | -| `\p{Private_Use}`Meaning `​​​​​​​\p{UnicodePropertyName=Private_Use}` | | -| `\p{Punctuation} ​​​​​​​\p{UnicodePropertyName=Punctuation}` | | -| `\p{Separator} ​​​​​​​\p{UnicodePropertyName=Separator}` | | -| `\p{Space_Separator} ​​​​​​​\p{UnicodePropertyName=Space_Separator}` | | -| `\p{Spaceing_Mark} ​​​​​​​\p{UnicodePropertyName=Spacing_Mark}` | | -| `\p{Surrogate} ​​​​​​​\p{UnicodePropertyName=Surrogate}` | | -| `\p{Symbol} ​​​​​​​\p{UnicodePropertyName=Symbol}` | | -| `\p{Titlecase_Letter} ​​​​​​​\p{UnicodePropertyName=Titlecase_Letter}` | | -| `\p{Unassigned} ​​​​​​​\p{UnicodePropertyName=Unassigned}` | | -| `\p{Uppercase_Letter} ​​​​​​​\p{UnicodePropertyName=UppercaseLetter}` | | +| `\p{Final_Punctuation} \p{UnicodePropertyName=Final_Punctuation}` | | +| `\p{Format} \p{UnicodePropertyName=Format}` | | +| `\p{Initial_Punctuation} \p{UnicodePropertyName=Initial_Punctuation}` | | +| `\p{Letter} \p{UnicodePropertyName=Letter}` | | +| `\p{Letter_Number} \p{UnicodePropertyName=Line_Separator}` | | +| `\p{Lowercase_Letter} \p{UnicodePropertyName=Lowercase_Letter}` | | +| `\p{Mark} \p{UnicodePropertyName=Mark}` | | +| `\p{Math_Symbol;} \p{UnicodePropertyName=Math_Symbol}` | | +| `\p{Modifier_Letter} \p{UnicodePropertyName=Modifier_Letter}` | | +| `\p{Modifier_Symbol} \p{UnicodePropertyName=Modifier_Symbol}` | | +| `\p{Nonspacing_Mark} \p{UnicodePropertyName=Nonspacing_Mark}` | | +| `\p{Number} \p{UnicodePropertyName=Number}` | | +| `\p{Open_Punctuation} \p{UnicodePropertyName=Open_Punctuation}` | | +| `\p{Other} \p{UnicodePropertyName=Other_Letter}` | | +| `\p{Other_Letter} \p{UnicodePropertyName=Other_Letter}` | | +| `\p{Other_Number} \p{UnicodePropertyName=Other_Number}` | | +| `\p{Other_Punctuation} \p{UnicodePropertyName=Other_Punctuation}` | | +| `\p{Paragraph_Separator} \p{UnicodePropertyName=Paragraph_Separator}` | | +| `\p{Private_Use}`Meaning `\p{UnicodePropertyName=Private_Use}` | | +| `\p{Punctuation} \p{UnicodePropertyName=Punctuation}` | | +| `\p{Separator} \p{UnicodePropertyName=Separator}` | | +| `\p{Space_Separator} \p{UnicodePropertyName=Space_Separator}` | | +| `\p{Spaceing_Mark} \p{UnicodePropertyName=Spacing_Mark}` | | +| `\p{Surrogate} \p{UnicodePropertyName=Surrogate}` | | +| `\p{Symbol} \p{UnicodePropertyName=Symbol}` | | +| `\p{Titlecase_Letter} \p{UnicodePropertyName=Titlecase_Letter}` | | +| `\p{Unassigned} \p{UnicodePropertyName=Unassigned}` | | +| `\p{Uppercase_Letter} \p{UnicodePropertyName=UppercaseLetter}` | | ### Binaires diff --git a/files/fr/web/javascript/guide/text_formatting/index.md b/files/fr/web/javascript/guide/text_formatting/index.md index b67205a859..e1c86d6127 100644 --- a/files/fr/web/javascript/guide/text_formatting/index.md +++ b/files/fr/web/javascript/guide/text_formatting/index.md @@ -14,22 +14,22 @@ Ce chapitre présente comment travailler avec les chaînes de caractères et le ## Les chaînes de caractères -Le type {{Glossary("String")}} de JavaScript est utilisé pour représenter des données textuelles. C'est un ensemble d'"éléments" de valeurs non signées sur 16 bits (unités de codage UTF-16). Chaque élément dans la chaîne de caractères occupe une position dans la chaîne de caractères. Le premier élément se trouve à l'indice 0, le suivant à l'indice 1 et ainsi de suite. La longueur d'une chaîne de caractères est le nombre d'éléments qu'elle contient. Vous pouvez créer des chaînes de caractères en utilisant des littéraux de chaîne de caractères ou des objets chaîne de caractères. +Le type {{Glossary("String")}} de JavaScript est utilisé pour représenter des données textuelles. C'est un ensemble d'"éléments" de valeurs non signées sur 16 bits (unités de codage UTF-16). Chaque élément dans la chaîne de caractères occupe une position dans la chaîne de caractères. Le premier élément se trouve à l'indice 0, le suivant à l'indice 1 et ainsi de suite. La longueur d'une chaîne de caractères est le nombre d'éléments qu'elle contient. Vous pouvez créer des chaînes de caractères en utilisant des littéraux de chaîne de caractères ou des objets chaîne de caractères. ### Les littéraux de chaînes de caractères -Vous pouvez créer des chaînes de caractères simple en utilisant des apostrophes simples ou doubles : +Vous pouvez créer des chaînes de caractères simple en utilisant des apostrophes simples ou doubles : ```js 'machin' "truc" ``` -Des chaînes plus avancées peuvent être créées en utilisant des séquences d'échappement. +Des chaînes plus avancées peuvent être créées en utilisant des séquences d'échappement. #### Les séquences d'échappement hexadécimales -Le nombre situé après \x est interprété comme un nombre [hexadécimal](https://fr.wikipedia.org/wiki/Syst%C3%A8me_hexad%C3%A9cimal) : +Le nombre situé après \x est interprété comme un nombre [hexadécimal](https://fr.wikipedia.org/wiki/Syst%C3%A8me_hexad%C3%A9cimal) : ```js '\xA9' // "©" @@ -37,15 +37,15 @@ Le nombre situé après \x est interprété comme un nombre [hexadécimal](http #### Les séquences d'échappement Unicode -Les séquences d'échappement Unicode requièrent au moins quatres caractères hexadécimaux après \u. +Les séquences d'échappement Unicode requièrent au moins quatres caractères hexadécimaux après \u. ```js '\u00A9' // "©" ``` -#### L'échappement d'unités de codage Unicode +#### L'échappement d'unités de codage Unicode -Nouveau dans ECMAScript 2015. Avec les échappements d'unités de codage Unicode, tout caractère peut être échappé en utilisant des nombres hexadécimaux, de sorte qu'il est possible de d'utiliser des unités de codage Unicode jusqu'à `0x10FFFF`. Avec les échappements Unicode simples, il est souvent nécessaire d'écrire les moitiés de remplacement séparément pour obtenir le même résultat. +Nouveau dans ECMAScript 2015. Avec les échappements d'unités de codage Unicode, tout caractère peut être échappé en utilisant des nombres hexadécimaux, de sorte qu'il est possible de d'utiliser des unités de codage Unicode jusqu'à `0x10FFFF`. Avec les échappements Unicode simples, il est souvent nécessaire d'écrire les moitiés de remplacement séparément pour obtenir le même résultat. Voir aussi {{jsxref("String.fromCodePoint()")}} ou {{jsxref("String.prototype.codePointAt()")}}. @@ -58,15 +58,15 @@ Voir aussi {{jsxref("String.fromCodePoint()")}} ou {{jsxref("String.prototype.co ### Les objets String -L'objet {{jsxref("String")}} est un conteneur autour du type de donnée primitif chaîne de caractères. +L'objet {{jsxref("String")}} est un conteneur autour du type de donnée primitif chaîne de caractères. var s = new String('foo'); // crée un objet String console.log(s); // affiche : {'0': 'f', '1': 'o', '2': 'o'} typeof s; // retourne 'object' -Vous pouvez appeler chacune des méthodes de l'objet `String` avec une valeur littérale de chaîne de caractères : JavaScript convertira automatiquement le littéral en un objet `String` temporaire, appellera la méthode, puis supprimera l'objet `String` temporaire. Vous pouvez aussi utiliser la propriété `String.length` sur un littéral de chaîne de caractères. +Vous pouvez appeler chacune des méthodes de l'objet `String` avec une valeur littérale de chaîne de caractères : JavaScript convertira automatiquement le littéral en un objet `String` temporaire, appellera la méthode, puis supprimera l'objet `String` temporaire. Vous pouvez aussi utiliser la propriété `String.length` sur un littéral de chaîne de caractères. -Vous devriez utiliser des littéraux de chaîne de caractères, à moins que vous n'ayez spécifiquement besoin d'un objet `String`, parce que les objets `String` peuvent avoir un comportement contre-intuitif : +Vous devriez utiliser des littéraux de chaîne de caractères, à moins que vous n'ayez spécifiquement besoin d'un objet `String`, parce que les objets `String` peuvent avoir un comportement contre-intuitif : ```js var s1 = '2 + 2'; // crée une valeur de chaîne de caractères @@ -75,7 +75,7 @@ eval(s1); // renvoie le nombre 4 eval(s2); // renvoie la chaîne "2 + 2" ``` -Un objet `String` possède une propriété, `length`, qui indique le nombre d'unités de codage UTF-16 dans la chaîne de caractères. Par exemple, le code suivant affecte à `x` la valeur 16, parce que la chaîne "Bonjour, Monde !" contient 16 caractères, chacun représenté par une unité de codage UTF-16. Vous pouvez accéder à chaque unité de codage en utilisant une syntaxe de tableau entre crochets. Vous ne pouvez pas changer les caractères, du fait que les chaînes sont des objets immuables (semblables à des tableaux) : +Un objet `String` possède une propriété, `length`, qui indique le nombre d'unités de codage UTF-16 dans la chaîne de caractères. Par exemple, le code suivant affecte à `x` la valeur 16, parce que la chaîne "Bonjour, Monde !" contient 16 caractères, chacun représenté par une unité de codage UTF-16. Vous pouvez accéder à chaque unité de codage en utilisant une syntaxe de tableau entre crochets. Vous ne pouvez pas changer les caractères, du fait que les chaînes sont des objets immuables (semblables à des tableaux) : ```js var machaine = 'Bonjour, Monde !'; @@ -84,11 +84,11 @@ machaine[0] = 'L'; // cela n'a aucun effet car les chaînes sont immuables machaine[0]; // cela renvoie "B" ``` -Les caractères dont les valeurs scalaires sont supérieures à U+FFFF (comme certains rares caractères chinois/japonais/coréens/vietnamiens et certains emojis) sont stockés en UTF-16 via deux unités de codage de remplacement. Par exemple, une chaîne de caractères contenant le seul caractère U+1F600 ("Emoji grinning face") aura une longueur de 2. Le fait d'accéder aux unités de codage individuelles dans une telle chaîne de caractères en utilisant des crochets peut avoir des conséquences indésirables telles que la génération d'unité de codage de remplacement non conformes, en violation du standard Unicode. (Des exemples devraient être ajoutés à cette page après que le bug MDN 857438 sera corrigé. Voir aussi {{jsxref("String.fromCodePoint()")}} ou {{jsxref("String.prototype.codePointAt()")}}. +Les caractères dont les valeurs scalaires sont supérieures à U+FFFF (comme certains rares caractères chinois/japonais/coréens/vietnamiens et certains emojis) sont stockés en UTF-16 via deux unités de codage de remplacement. Par exemple, une chaîne de caractères contenant le seul caractère U+1F600 ("Emoji grinning face") aura une longueur de 2. Le fait d'accéder aux unités de codage individuelles dans une telle chaîne de caractères en utilisant des crochets peut avoir des conséquences indésirables telles que la génération d'unité de codage de remplacement non conformes, en violation du standard Unicode. (Des exemples devraient être ajoutés à cette page après que le bug MDN 857438 sera corrigé. Voir aussi {{jsxref("String.fromCodePoint()")}} ou {{jsxref("String.prototype.codePointAt()")}}. -Un objet String a une grande variété de méthodes : par exemple, celles qui retournent une variation de la chaîne de caractères elle-même, telles que `substring` et `toUpperCase`. +Un objet String a une grande variété de méthodes : par exemple, celles qui retournent une variation de la chaîne de caractères elle-même, telles que `substring` et `toUpperCase`. -Le tableau suivant résume les méthodes des objets {{jsxref("String")}}. +Le tableau suivant résume les méthodes des objets {{jsxref("String")}}. #### Méthodes de `String` @@ -178,7 +178,7 @@ Le tableau suivant résume les méthodes des objets {{jsxref("String")}}. - {{jsxref("String.match", "match")}}, {{jsxref("String.matchAll", "matchAll")}}, + {{jsxref("String.match", "match")}}, {{jsxref("String.matchAll", "matchAll")}}, {{jsxref("String.replace", "replace")}}, {{jsxref("String.search", "search")}} @@ -191,7 +191,7 @@ Le tableau suivant résume les méthodes des objets {{jsxref("String")}}.

- Retourne la chaîne tout en minuscules ou tout en majuscules, + Retourne la chaîne tout en minuscules ou tout en majuscules, respectivement.

@@ -219,13 +219,13 @@ Le tableau suivant résume les méthodes des objets {{jsxref("String")}}. ### Les littéraux de modèle multi-lignes -Le [littéraux de modèle](/fr/docs/Web/JavaScript/Reference/Litt%C3%A9raux_gabarits) sont des littéraux de chaîne de caractères permettant des expressions intégrées. Avec eux, vous pouvez utiliser des chaînes de caractères multi-lignes et des fonctionnalités d'interpolation de chaînes. +Le [littéraux de modèle](/fr/docs/Web/JavaScript/Reference/Litt%C3%A9raux_gabarits) sont des littéraux de chaîne de caractères permettant des expressions intégrées. Avec eux, vous pouvez utiliser des chaînes de caractères multi-lignes et des fonctionnalités d'interpolation de chaînes. -Les littéraux de gabarits sont délimités par des [accents graves](https://fr.wikipedia.org/wiki/Accent_grave) (ou _backticks\` \`_ en anglais), au lieu des apostrophes simples ou doubles. Les littéraux de modèle peuvent contenir des marque-places. Ceux-ci sont indiqués par le signe dollar et des accolades (`${expression}`). +Les littéraux de gabarits sont délimités par des [accents graves](https://fr.wikipedia.org/wiki/Accent_grave) (ou _backticks\` \`_ en anglais), au lieu des apostrophes simples ou doubles. Les littéraux de modèle peuvent contenir des marque-places. Ceux-ci sont indiqués par le signe dollar et des accolades (`${expression}`). #### Multi-lignes -Tout caractère de passage à la ligne inséré dans le source fait partie du littéral de modèle. En utilisant les chaînes de caractères normales, vous auriez eu à utiliser la syntaxe suivante afin d'avoir des chaînes de caractères multi-lignes : +Tout caractère de passage à la ligne inséré dans le source fait partie du littéral de modèle. En utilisant les chaînes de caractères normales, vous auriez eu à utiliser la syntaxe suivante afin d'avoir des chaînes de caractères multi-lignes : ```js console.log('chaîne ligne de texte 1\n\ @@ -234,7 +234,7 @@ chaîne ligne de texte 2'); // chaîne ligne de texte 2" ``` -Pour obtenir le même effet avec des chaînes de caractères multi-lignes, vous pouvez maintenant écrire : +Pour obtenir le même effet avec des chaînes de caractères multi-lignes, vous pouvez maintenant écrire : ```js console.log(`chaîne ligne de texte 1 @@ -245,7 +245,7 @@ chaîne ligne de texte 2`); #### Expressions intégrées -Pour intégrer des expressions dans des chaînes normales, vous devriez utiliser la syntaxe suivante : +Pour intégrer des expressions dans des chaînes normales, vous devriez utiliser la syntaxe suivante : ```js var a = 5; @@ -255,7 +255,7 @@ console.log('Quinze vaut ' + (a + b) + ' et\npas ' + (2 * a + b) + '.'); // pas 20." ``` -Maintenant, avec les modèles, vous pouvez utiliser du sucre syntaxique rendant plus lisibles les substitutions comme celle-ci : +Maintenant, avec les modèles, vous pouvez utiliser du sucre syntaxique rendant plus lisibles les substitutions comme celle-ci : ```js var a = 5; @@ -265,15 +265,15 @@ console.log(`Quinze vaut ${a + b} et\npas ${2 * a + b}.`); // pas 20." ``` -Pour plus d'informations, voir les [Littéraux de modèles](/fr/docs/Web/JavaScript/Reference/Littéraux_gabarits) dans la [Référence JavaScript](/fr/docs/Web/JavaScript/Reference). +Pour plus d'informations, voir les [Littéraux de modèles](/fr/docs/Web/JavaScript/Reference/Littéraux_gabarits) dans la [Référence JavaScript](/fr/docs/Web/JavaScript/Reference). ## Internationalisation -L'objet {{jsxref("Intl")}} est l'espace de noms pour l'API d'Internationalisation de l'ECMAScript, qui fournit des fonctionnalités de comparaison de chaînes de caractères, de formatage de nombres, et de formatage des dates et heures prenant en compte la langue. Les constructeurs pour les objets {{jsxref("Collator")}}, {{jsxref("NumberFormat")}} et {{jsxref("DateTimeFormat")}} sont des propriétés de l'objet `Intl`. +L'objet {{jsxref("Intl")}} est l'espace de noms pour l'API d'Internationalisation de l'ECMAScript, qui fournit des fonctionnalités de comparaison de chaînes de caractères, de formatage de nombres, et de formatage des dates et heures prenant en compte la langue. Les constructeurs pour les objets {{jsxref("Collator")}}, {{jsxref("NumberFormat")}} et {{jsxref("DateTimeFormat")}} sont des propriétés de l'objet `Intl`. -### Formatage date et heure +### Formatage date et heure -L'objet {{jsxref("DateTimeFormat")}} est utile pour formater la date et l'heure. Ce qui suit formate une date en anglais telle qu'utilisée aux États-Unis (le résultat sera différent dans une autre zone horaire). +L'objet {{jsxref("DateTimeFormat")}} est utile pour formater la date et l'heure. Ce qui suit formate une date en anglais telle qu'utilisée aux États-Unis (le résultat sera différent dans une autre zone horaire). ```js var msParJour = 24 * 60 * 60 * 1000; @@ -288,7 +288,7 @@ var dateHeureAmericaine = new Intl.DateTimeFormat("en-US", options).format; console.log(dateHeureAmericaine(_17juillet2014)); // 07/16/14, 5:00 PM PDT ``` -### Formatage des nombres +### Formatage des nombres L'objet {{jsxref("NumberFormat")}} est utile pour formater les nombres, par exemple, les devises : @@ -307,9 +307,9 @@ console.log(decimalesHanRMBEnChine.format(1314.25)); // ¥ 一,三一四.二五 ### Ordonnancement -L'objet {{jsxref("Collator")}} est utile pour comparer et trier des chaînes de caractères. +L'objet {{jsxref("Collator")}} est utile pour comparer et trier des chaînes de caractères. -Par exemple, il y a en fait deux ordres de tri en allemand, _annuaire_ et _dictionnaire_. Annuaire met l'accent sur le son, et c'est comme si "ä", "ö", etc. étaient étendus en "ae", "oe", etc. avant le tri : +Par exemple, il y a en fait deux ordres de tri en allemand, _annuaire_ et _dictionnaire_. Annuaire met l'accent sur le son, et c'est comme si "ä", "ö", etc. étaient étendus en "ae", "oe", etc. avant le tri : ```js var noms = ['Hochberg', 'Hönigswald', 'Holzman']; @@ -321,7 +321,7 @@ console.log(noms.sort(annuaireAllemand.compare).join(', ')); // Affiche "Hochberg, Hönigswald, Holzman" ``` -Certains mots allemands se conjuguent avec des umlauts supplémentaires, de sorte que dans les dictionnaires, le fait d'ignorer les umlauts pour le tri  est perceptible (sauf lors du tri de mots ne différant _que_ par des umlauts, comme *schon* avant _schön_). +Certains mots allemands se conjuguent avec des umlauts supplémentaires, de sorte que dans les dictionnaires, le fait d'ignorer les umlauts pour le tri est perceptible (sauf lors du tri de mots ne différant _que_ par des umlauts, comme *schon* avant _schön_). ```js var dictionnaireAllemand = new Intl.Collator('de-DE-u-co-dict'); @@ -331,6 +331,6 @@ console.log(nom.sort(dictionnaireAllemand.compare).join(', ')); // Affiche "Hochberg, Holzman, Hönigswald" ``` -Pour plus d'informations sur l'API {{jsxref("Intl")}}, voir aussi [Introducing the JavaScript Internationalization API](https://hacks.mozilla.org/2014/12/introducing-the-javascript-internationalization-api/). +Pour plus d'informations sur l'API {{jsxref("Intl")}}, voir aussi [Introducing the JavaScript Internationalization API](https://hacks.mozilla.org/2014/12/introducing-the-javascript-internationalization-api/). {{PreviousNext("Web/JavaScript/Guide/Numbers_and_dates", "Web/JavaScript/Guide/Regular_Expressions")}} diff --git a/files/fr/web/javascript/guide/using_promises/index.md b/files/fr/web/javascript/guide/using_promises/index.md index 95b35d1884..c353dbfc00 100644 --- a/files/fr/web/javascript/guide/using_promises/index.md +++ b/files/fr/web/javascript/guide/using_promises/index.md @@ -239,13 +239,13 @@ window.addEventListener("unhandledrejection", event => { ## Envelopper les _callbacks_ des API -Il est possible de créer un objet  {{jsxref("Promise")}} grâce à son constructeur. Et même si, idéalement, cela ne devrait pas être nécessaire, certaines API fonctionnent toujours avec des _callbacks_ passés en arguments. C'est notamment le cas de la méthode  {{domxref("WindowTimers.setTimeout", "setTimeout()")}} : +Il est possible de créer un objet {{jsxref("Promise")}} grâce à son constructeur. Et même si, idéalement, cela ne devrait pas être nécessaire, certaines API fonctionnent toujours avec des _callbacks_ passés en arguments. C'est notamment le cas de la méthode {{domxref("WindowTimers.setTimeout", "setTimeout()")}} : ```js setTimeout(() => saySomething("10 seconds passed"), 10 * 1000); ``` -Si on mélange des _callbacks_ et des promesses, cela sera problématique. Si  `saySomething` échoue ou contient des erreurs, rien n'interceptera l'erreur. +Si on mélange des _callbacks_ et des promesses, cela sera problématique. Si `saySomething` échoue ou contient des erreurs, rien n'interceptera l'erreur. Pour ces fonctions, la meilleure pratique consiste à les _envelopper_ dans des promesses au plus bas niveau possible et de ne plus les appeler directement : @@ -278,7 +278,7 @@ Il est possible de construire une composition séquentielle de la façon suivant Dans ce fragment de code, on réduit un tableau de fonctions asynchrones en une chaîne de promesse équivalente à : `Promise.resolve().then(func1).then(func2);` -On peut également accomplir cela avec une fonction de composition réutilisable  : +On peut également accomplir cela avec une fonction de composition réutilisable : ```js const applyAsync = (acc, val) => acc.then(val); @@ -297,7 +297,7 @@ Avec ECMAScript 2017, on peut obtenir une composition séquentielle plus simplem ```js let result; for(const f of [func1, func2, func3]) { -  result = await f(result); + result = await f(result); } ``` diff --git a/files/fr/web/javascript/guide/working_with_objects/index.md b/files/fr/web/javascript/guide/working_with_objects/index.md index 9dbfe909e4..09c944c67c 100644 --- a/files/fr/web/javascript/guide/working_with_objects/index.md +++ b/files/fr/web/javascript/guide/working_with_objects/index.md @@ -55,7 +55,7 @@ Les propriétés d'un objet qui n'ont pas été affectées auront la valeur [`un maVoiture.color; // undefined ``` -On peut aussi définir ou accéder à des propriétés JavaScript en utilisant une notation avec les crochets (voir la page sur [les accesseurs de propriétés](/fr/docs/Web/JavaScript/Reference/Operators/Property_Accessors) pour plus de détails). Les objets sont parfois appelés « tableaux associatifs ». Cela peut se comprendre, car chaque propriété est associée avec une chaîne de caractères qui permet d'y accéder. Ainsi, par exemple, on peut accéder aux propriétés de l'objet `maVoiture` de la façon suivante : +On peut aussi définir ou accéder à des propriétés JavaScript en utilisant une notation avec les crochets (voir la page sur [les accesseurs de propriétés](/fr/docs/Web/JavaScript/Reference/Operators/Property_Accessors) pour plus de détails). Les objets sont parfois appelés « tableaux associatifs ». Cela peut se comprendre, car chaque propriété est associée avec une chaîne de caractères qui permet d'y accéder. Ainsi, par exemple, on peut accéder aux propriétés de l'objet `maVoiture` de la façon suivante : ```js maVoiture["fabricant"] = "Ford"; @@ -276,7 +276,7 @@ Les objets peuvent également être créés en utilisant la méthode [`Object.cr ```js // Propriétés pour animal et encapsulation des méthodes let Animal = { - type: "Invertébrés", // Valeur par défaut value of properties + type: "Invertébrés", // Valeur par défaut value of properties afficherType : function() { // Une méthode pour afficher le type Animal console.log(this.type); } -- cgit v1.2.3-54-g00ecf