98 votes

Existe-t-il un moyen de vérifier si le mode strict est appliqué ?

Existe-t-il un moyen de vérifier si le mode strict 'use strict' est appliqué, et nous voulons exécuter un code différent pour le mode strict et un autre code pour le mode non strict. Je cherche une fonction comme isStrictMode();//boolean

5voto

Une manière plus élégante : si "this" est un objet, le convertir en true.

"use strict"

var strict = ( function () { return !!!this } ) ()

if ( strict ) {
    console.log ( "strict mode enabled, strict is " + strict )
} else {
    console.log ( "strict mode not defined, strict is " + strict )
}

0voto

Yaron U. Points 3278

Une autre solution peut tirer parti du fait qu'en mode strict, les variables déclarées dans le format eval ne sont pas exposés sur le périmètre extérieur

function isStrict() {
    var x=true;
    eval("var x=false");
    return x;
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X