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"