Modo Estrito em JavaScript | Explicado

Modo Estrito em JavaScript | Explicado
Como o JavaScript é uma linguagem de script, às vezes mostra a saída correta, mesmo que contenha algum erro. Você pode usar o “modo estrito" em JavaScript para lidar com esta situação. O mecanismo JavaScript executa o script com verificações adicionais de restrições quando o modo rigoroso é ativado.

O modo rigoroso em JavaScript é um variante restrita ou Mais rigoroso Isso gera erros para o problema, que o motor pode lidar silenciosamente. Nesse modo, os recursos de JavaScript depreciados também são pegos e o erro relacionado será mostrado como saída. Como resultado, modo rigoroso aprimora a segurança, minimiza bugs, e aumenta Desempenho do seu aplicativo JavaScript.

Este artigo discute o modo rigoroso em JavaScript junto com exemplos adequados. Então vamos começar!

Como ativar o modo rigoroso em JavaScript

Utilizando o “use rigoroso”String, você pode ativar“modo estrito”E adicione -o ao escopo global para todo o script ou aplique -o a um único função apenas.

Agora vamos praticamente passar pelos dois caminhos mencionados.

Permitindo o modo rigoroso para script inteiro em JavaScript

Se você quiser ativar modo estrito para todo o roteiro, Em seguida, adicione o “use rigoroso”String no início do script e escreva o código necessário da seguinte maneira:

'Use rigoroso';
// outro código de script
x = 5;
console.log (x);

Depois de executar o script acima, temos um “ReferenceError”Porque, no modo rigoroso, você não pode usar variáveis ​​sem defini -las:

Permitindo o modo rigoroso para uma única função em JavaScript

Para ativar “modo estrito”Dentro de um função, Adicione o "use rigoroso”String no começo da definição da função.

Por exemplo, no script abaixo do dado, ativamos “modo estrito"Somente para o"displayInfo ()”Função:

x = 6;
console.log (x);
função displayInfo ()
'Use rigoroso';
y = "linuxhint";
console.log (y);

displayInfo ();

Saída

Na saída fornecida, você deve ter notado que o modo rigoroso de ativação aplicou algumas restrições ao script, resultando em alguns erros. Para saber mais sobre o “não permitido”Tipo de restrições dentro do modo estrito JavaScript, dê uma olhada na próxima seção.

Variáveis ​​não declaradas no modo rigoroso em JavaScript

No modo estrito JavaScript, um variável não pode ser inicializado ou usado como uma variável não declarada.

Exemplo: variável não declarada com modo rigoroso em JavaScript

'Use rigoroso';
x = 'linuxhint';

Nós não declaramos o “x”. Então, inicializando com o valor “Linuxhint”Vai jogar o seguinte“ReferenceError”:

Objetos não declarados dentro do modo rigoroso em JavaScript

Da mesma forma, no modo rigoroso, tudo adicionado objetos deve ser declarado primeiro. Caso você esteja atribuindo propriedades e seus respectivos valores para um objeto não declarado, o mecanismo JavaScript lançará um “ReferenceError”:

Exemplo: objetos não declarados com modo rigoroso em JavaScript

'Use rigoroso';
funcionário = nome: 'Alex', idade: 33;

Saída

Excluindo objetos no modo rigoroso em JavaScript

JavaScript não permite que você excluir objetos no modo rigoroso. Se você fizer isso, um Erro de sintaxe será jogado na janela do console.

Exemplo: Excluindo objetos no modo rigoroso em JavaScript

'Use rigoroso';
Deixe funcionário = nome: 'Alex', idade: 33;
excluir funcionário;

Saída

Em "Não rigoroso”Modo, a tentativa de excluir o criado“funcionário”O objeto falhará silenciosamente o“Excluir funcionário”A expressão será avaliada como“falso”:

Parâmetros de duplicação no modo rigoroso em JavaScript

Uma declaração de função no modo rigoroso deve ter nome de parâmetros únicos como duplicando o parâmetro nome vai jogar um Erro de sintaxe.

Exemplo: parâmetros duplicados no modo rigoroso em javascript

No exemplo abaixo, definimos um “showinfo ()”Função que compreende parâmetros duplicados (a, a):

"Use rigoroso";
FunctionShowinfo (a, a) console.log ('modo rigoroso em javascript');
showInfo ();

A execução do código fornecido lançará um “SyntaxError: Nome do parâmetro duplicado não permitido neste contexto”:

Propriedade somente leitura no modo rigoroso em JavaScript

Modo rigoroso restringe o acesso de escrita de uma propriedade somente leitura.

Exemplo: propriedade somente leitura no modo rigoroso em JavaScript

Por exemplo, vamos declarar um “objeto1" tendo uma "y”Propriedade no modo rigoroso e depois define seu“gravável"Propriedade para"falso”. Ao fazer isso, o “y" propriedade de "objeto1”É convertido em propriedades somente leitura ou não criável:

'Use rigoroso';
Seja objeto1 = ;
Objeto.defineProperty (object1, 'y', value: 12, gravidade: false);

Em seguida, atribuiremos um novo valor ao “objeto1.y" propriedade:

objeto1.y = 56;

Atribuindo valor ao somente leitura “objeto1”Propriedade exibe um TypeError:

Literais octais dentro do modo rigoroso em JavaScript

Números que compreendem “zero”Como um prefixo são chamados Literais octais, e eles não são permitidos no modo estrito JavaScript.

Exemplo: literais octais dentro do modo rigoroso em javascript

O exemplo a seguir criará um literal octal “x"Com o valor"001”:

'Use rigoroso';
Seja x = 001;

Como mencionado anteriormente, o rigoroso não permite definir literais octais, para que você possa encontrar o seguinte Erro de sintaxe:

Em vez de utilizar “0”Como prefixo, adicionando“0o”Resolverá o problema:

'Use rigoroso';
Seja x = 0o01;
console.log (x);

Agora, criamos com sucesso um literal octal dentro do modo rigoroso usando o “0o”Prefixo:

avaliar e argumentos dentro do modo rigoroso em JavaScript

No modo rigoroso, você não pode utilizar “aval" e "argumentos”Como nomes de funções, nomes de variáveis ​​ou parâmetros de função. Ambos "aval" e "argumentos”São tratados como“palavras-chave”Dentro do modo estrito JavaScript.

Exemplo: avaliar e argumentos no modo rigoroso em javascript

'Use rigoroso';
deixe avaliar = 32;
deixe argumentos = 'linuxhint';

Usando "aval" e "argumentos”Como nomes de variáveis, gerarão o seguinte SyntaxError:

Objeto não extensível no modo rigoroso em JavaScript

O modo rigoroso em JavaScript não permite adicionar novas propriedades a um criado não extensível objeto.

Exemplo: objeto não extensível no modo rigoroso em JavaScript

Em primeiro lugar, declararemos um “objeto3”E convertê-lo em um objeto não extensível, utilizando o“Objeto.PreventExtensions ()”Método. Depois disso, tentaremos adicionar um “NewProperty" para "objeto3”:

'Use rigoroso';
Seja objeto3 = ;
Objeto.PreventExtensions (objeto3);
objeto3.newProperty = 'meu objeto';

A saída dada significa que o objeto criado não é extensível; Portanto, não podemos adicionar uma nova propriedade:

Por que usar o modo rigoroso em javascript

Aqui está a lista de alguns dos fantásticos vantagens de usar modo estrito em JavaScript:

  • O modo rigoroso auxilia na escrita de um seguro e limpador roteiro.
  • Isto elimina a função de esconder silencioso JavaScript erros jogando uma declaração de erro.
  • Fixação de falhas com a ajuda do modo rigoroso JavaScript otimiza o código e o motor JavaScript executa isto rapidamente comparado ao código escrito no modo não rito.

Fornecemos as informações essenciais relacionadas ao modo rigoroso, suas vantagens e restrições no JavaScript.

Conclusão

Utilizando o “use rigoroso”String, você pode ativar modo estrito em JavaScript em o contexto global de um script ou para um função única. Melhora a semântica do JavaScript, fornecendo Segurança extra. Quando o modo rigoroso é ativado em um script, variáveis ​​e objetos não declarados não podem ser usados. Não permite adicionar parâmetros duplicados, literais octais, excluir objetos e escrever em propriedade do objeto somente leitura. Este artigo explicou o modo rigoroso em JavaScript, juntamente com exemplos apropriados.