Avatar ·

Que fait "use strict" en JavaScript et pourquoi est-il nécessaire ? Explication pour les débutants

Bonjour à tous ! Je viens de commencer à apprendre JavaScript et je suis tombé sur une construction étrange : `"use strict";`. Je l'ai vue au début de certains scripts et fonctions, mais je ne comprends pas à quoi elle sert ni ce qu'elle fait.\n\nVoici un exemple de code qui fonctionne sans `"use strict"` :\n\n```javascript\nx = 10; // Je n'ai pas déclaré la variable avec var, let ou const\nconsole.log(x); // Affiche 10\n```\n\nMais quand j'ajoute `"use strict"` :\n\n```javascript\n"use strict";\nx = 10; // Erreur : x is not defined\nconsole.log(x);\n```\n\nPourquoi dans le premier cas le code fonctionne-t-il, et dans le second donne-t-il une erreur ? J'ai entendu dire que `"use strict"` rend le code "plus sûr", mais je ne comprends pas en quoi consiste cette sécurité. Et autre question : faut-il toujours l'utiliser ? Peut-être que cela ralentit seulement le code ?\n\nExpliquez, s'il vous plaît, pour les débutants : qu'est-ce que cette directive, comment fonctionne-t-elle et pourquoi tous les développeurs expérimentés la recommandent-ils ? De préférence avec des exemples pour que ce soit clair.\n<<>>\n

Qu'est-ce que "use strict" et pourquoi est-il nécessaire ?