4 opérateurs JavaScript que vous ne connaissez pas

Temps de lecture : 4 minutes


Les API de JavaScript sont largement documentés sur MDN. Cependant, il existe dans ces API des fonctionnalité très peu connue ou très peu utilisé. Donc voici une courte liste de ces API, utiles ou non - l’apprentissage de JavaScript ne semble jamais se terminer.

Labeled statement (Instruction étiquetée)

Vous pouvez utiliser une étiquette pour identifier une boucle ou un bloc d’instruction en Javascript, puis utiliser les instructions break  ou continue  pour indiquer si un programme doit interrompre la boucle ou poursuivre son exécution.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
loop1: // labeling "loop1"
for (let i = 0; i < 3; i++) { // "loop1"
   loop2: // labeling "loop2"
   for (let j = 0; j < 3; j++) { // "loop2"
      if (i === 1) {
         continue loop1; // continues upper "loop1"
         // break loop1; // breaks out of upper "loop1"
      }
      console.log(`i = ${i}, j = ${j}`);
   }
}

/*
 * # Output
 * i = 0, j = 0
 * i = 0, j = 1
 * i = 0, j = 2
 * i = 2, j = 0
 * i = 2, j = 1
 * i = 2, j = 2
 */

Vous pouvez utiliser des étiquettes dans les blocs d’instruction simples, mais seules les instructions break  peuvent utiliser des étiquettes sans boucle.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
foo: {
  console.log('one');
  break foo;
  console.log('this log will not be executed');
}
console.log('two');

/*
 * # Output
 * one
 * two
 */

L’ opérateur void

Cet opérateur permet d’évaluer les expressions qui produisent une valeur dans les endroits où une expression qui évalue undefined  est souhaitée. L’opérateur void  est souvent utilisé simplement pour obtenir la valeur primitive undefined , en utilisant habituellement void(0)  (qui est équivalent à  void 0 ). Dans ce cas, la variable globale undefined  peut être utilisée à la place (en supposant qu’elle n’a pas été affectée à une valeur autre que la valeur par défaut). Cet opérateur a été dans Javascript  depuis 1996.

Cela vous permet d’écrire comme ceci:

1
2
3
4
5
6
7
8
9
void function test() {
	console.log('hello');
}();

// is the same as...

(function test() {
    console.log('hello');
})()

L’évaluation de l’expression est toujours la variable globale undefined en supposant qu’elle n’a pas été affectée à une valeur autre que la valeur par défaut.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
const word = void function iife() {
	return 'hello';
}();

// word is "undefined"

const word = (function iife() {
	return 'hello';
})();

// word is "hello"

Vous pouvez également utiliser void  avec async, vous pouvez alors l’utiliser comme un point d’entrée asynchrone à votre code:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
void async function() {
    try {
        const response = await fetch('geek.mg');
        const text = await response.text();
        console.log(text);
    } catch(e) {
        console.error(e);
    }
}()

// or just stick to this :)

(async () => {
    try {
        const response = await fetch('air.ghost.io');
        const text = await response.text();
        console.log(text);
    } catch(e) {
        console.error(e);
    }
})();

Opérateur de virgule (comma operator)

Vous pouvez utiliser l’opérateur de virgule lorsque vous souhaitez inclure plusieurs expressions dans un emplacement qui nécessite une seule expression. L’utilisation la plus courante de cet opérateur est de fournir plusieurs paramètres dans une boucle for .

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
function myFunc() {
  let x = 0;
  return (x += 1, x); // same as return ++x;
}

y = false, true; // returns true in console
console.log(y); // false (left-most)

z = (false, true); // returns true in console
console.log(z); // true (right-most)

On peut aussi utiliser l’opérateur virgule avec les conditions. La dernière valeur dans l’opérateur virgule devient la valeur de retour pour la condition. Vous pouvez donc placer n’importe quel nombre d’expressions avant comme dans l’exemple ci-dessous

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
const type = 'man';

const isMale = type === 'man' ? (
    console.log('Hi Man!'),
    true
) : (
    console.log('Hi Lady!'),
    false
);

console.log(`isMale is "${isMale}"`);

Pipeline

1
2
3
4
5
6
7
8
const square = (n) => n * n;
const increment = (n) => n + 1;

// without pipeline operator
square(increment(square(2))); // 25

// with pipeline operator
2 |> square |> increment |> square; // 25

Nous espérons que vous avez découvert quelques nouvels aspects de JavaScript.

comments powered by Disqus

Articles Similaires

Ubuntu 24.04 LTS - Une version qui fait débat entre déception et enthousiasme

Ubuntu 24.04 LTS, “Noble Numbat”, a récemment été déployée, apportant son lot de nouveautés et de changements. Cette version suscite à la fois de l’enthousiasme et de la déception au sein de la communauté des utilisateurs et des développeurs. Déception et colère face à la gestion des paquets DEB Plusieurs utilisateur d’Ubuntu ont exprimé leur déception et colère face à la décision de Canonical, la société mère d’ Ubuntu, de favoriser les paquets Snap au détriment des paquets DEB.

Lire la Suite

Le concours de beauté Miss AI : un cauchemar dystopique ou le futur de la beauté ?

Dans un monde où la technologie et la beauté fusionnent, le concours de beauté Miss AI fait son apparition. Ce concours, organisé par The World AI Creator Awards, récompense les créateurs d’images et d’influenceurs générés par intelligence artificielle (IA). Mais qu’est-ce que cela signifie pour les standards de beauté et les femmes ? Le concours Miss AI est ouvert aux créateurs d’images et d’influenceurs générés par IA qui souhaitent montrer leur charme et leur compétence technique.

Lire la Suite

Le gouvernement du Salvador prend un coup dur : les hackers divulguent le code source et les accès VPN du portefeuille bitcoin national Chivo !

Le programme bitcoin du gouvernement du Salvador, Chivo, a été victime d’une série d’attaques informatiques ces derniers jours. Les hackers ont déjà divulgué les données personnelles de plus de 5 millions de Salvadoriens. Maintenant, les mêmes pirates informatiques ont publié des extraits du code source et des informations d’accès VPN du portefeuille bitcoin national Chivo sur un forum de hacking en ligne, CiberInteligenciaSV. Ceci est un coup dur pour El Salvador, qui lutte pour être un pionnier dans l’adoption du bitcoin.

Lire la Suite