JavaScript "use estrito"

Neste tutorial, você aprenderá sobre a sintaxe de 'usar estrito' do JavaScript com a ajuda de exemplos.

'use strict';afirma que o código JavaScript deve ser executado em ' modo estrito '. Isso torna mais fácil escrever um código JavaScript bom e seguro. Por exemplo,

 myVariable = 9;

Aqui, myVariable é criado sem declaração. Isso funciona como uma variável global em JavaScript. No entanto, se você usar isso no modo estrito, o programa gerará um erro. Por exemplo,

 'use strict'; // Error myVariable = 9;

O código acima gera um erro porque myVariable não está declarado. No modo estrito, você não pode usar a variável sem declará-las.

Para indicar que este programa está no modo estrito, usamos

 'use strict';

no topo do programa.

Você pode declarar o modo estrito adicionando 'use strict';ou "use strict";no início de um programa.

Quando você declara o modo estrito no início de um programa, ele terá escopo global e todo o código no programa será executado no modo estrito.

Modo estrito em variável

No modo estrito, usar uma variável sem declará-la gera um erro.

Nota : você precisa declarar o modo estrito no início do programa. Se você declarar o modo estrito abaixo de algum código, não funcionará.

Por exemplo,

 console.log("some code"); // 'use strict' is ignored // must be at the top "use strict"; x = 21; // does not throw an error

Modo estrito em função

Você também pode usar o modo estrito dentro de uma função. Por exemplo,

 myVariable = 9; console.log(myVariable); // 9 function hello() ( // applicable only for this function 'use strict'; string = 'hello'; // throws an error ) hello();

Se você usar 'use strict';dentro de uma função, o código dentro da função estará no modo estrito.

No programa acima, 'use strict';é usado dentro da hello()função. Portanto, o modo estrito é aplicável apenas dentro da função.

Como você pode ver, no início do programa, myVariableé usado sem declarar.

Se você declarar 'use strict';no início do programa, não poderá usar uma variável sem declará-la também dentro da função. Por exemplo,

 // applicable to whole program 'use strict'; function hello() ( string = 'hello'; // throws an error ) hello();

Observação : o modo estrito não se aplica a instruções de bloco com ()colchetes.

Coisas não permitidas no modo estrito

1. Variável não declarada não é permitida.

 'use strict'; a = 'hello'; // throws an error

2. Objetos não declarados não são permitidos.

 'use strict'; person = (name: 'Carla', age: 25); // throws an error

3. Excluir um objeto não é permitido.

 'use strict'; let person = (name: 'Carla'); delete person; // throws an error

4. Não é permitido duplicar o nome do parâmetro.

 "use strict"; function hello(p1, p1) ( console.log('hello')); // throws an error hello();

5. Não é permitido atribuir a uma propriedade não gravável.

 'use strict'; let obj1 = (); Object.defineProperty(obj1, 'x', ( value: 42, writable: false )); // assignment to a non-writable property obj1.x = 9; // throws an error

6. A atribuição a uma propriedade somente getter não é permitida.

 'use strict'; let obj2 = ( get x() ( return 17; ) ); // assignment to a getter-only property obj2.x = 5; // throws an error

7. Não é permitido atribuir a uma nova propriedade em um objeto não extensível.

 'use strict'; let obj = (); Object.preventExtensions(obj); // Assignment to a new property on a non-extensible object obj.newValue = 'new value'; // throws an error

8. A sintaxe octal não é permitida.

 'use strict'; let a = 010; // throws an error

9. Os argumentos e eval do nome da variável não são permitidos.

 'use strict'; let arguments = 'hello'; // throws an error let eval = 44;

10. Você também não pode usar essas palavras-chave reservadas no modo estrito.

implements interface let package private protected public static yield

Benefícios do modo estrito

O uso do modo estrito:

  • ajuda a escrever um código mais limpo
  • muda erros silenciosos previamente aceitos (sintaxe incorreta) em erros reais e lança uma mensagem de erro
  • torna mais fácil escrever JavaScript "seguro"

Artigos interessantes...