O modo strict faz com que o seu programa ou função siga um contexto de funcionamento estrito. Agora aqui está o meu último post relacionado com o use strict
em JavaScript. Este post é muito benéfico para principiantes e refrescadores.
O que é “use strict” ?
=> O modo strict faz com que o seu programa ou função siga um contexto de funcionamento estrito.
Então o que é que isto realmente significa?
=> Agora, o compilador lança alguns erros silenciosos que anteriormente não eram lançados ou ignorados. Além disso, não lhe permite fazer certas coisas. Vamos ver que coisas.
O que faz o modo estrito exactamente ?
A variável não será adicionada ao objecto global/janela se não for declarada.
designer = "Creativity is everything"var developer = "Docs are life"console.log(designer)// Creativity is everything
Por defeito, se uma variável não declarada for definida, ela é adicionada ao objecto global/janela. Isto pode criar um erro e pode até ser difícil de encontrar.
Para evitar tais cenários, podemos declarar o uso estrito. O modo estrito não permite o uso de variáveis que não tenham sido declaradas.
var designer = "Creativity is everything"// YOU PROBABLY MEANT THIS.
Em modo estrito
'use strict'designer = "Creativity is everything"var developer = "Docs are life"console.log(designer)// ReferenceError: designer is not defined
Função com parâmetros nomeados duplicados em modo não estrito
Em JavaScript normal, podemos repetir nomes de argumentos em funções. A ocorrência tardia destes argumentos anulará os anteriores.
function logItems( y, y ) { console.log(y) console.log(y)}logItems(44,22)// 22// 22
Função com parâmetros de nomes duplicados em modo estrito
A função não será estabelecida se tiver os mesmos parâmetros de nomes.
"use strict"function logItems( y, y ) { console.log(y) console.log(y)}// SyntaxError: Duplicate// parameter name not// allowed in this context
Eliminar operador em modo estrito
Impede um de eliminar função, variáveis e parâmetros de função.
1
>/p>
"use strict"const x= 4;delete x// SyntaxError: Delete of an// unqualified identifier in// strict mode.
2
>/p>
"use strict"function LOG() { console.log("Log")}delete LOG// SyntaxError: Delete// of an unqualified// identifier in strict mode.
O operador de eliminação em si é utilizado para remover uma propriedade sobre um objecto e não variáveis, funções, etc.
Os erros silenciosos são lançados em modo estrito
Veremos dois exemplos…
(Primeiro)
var user = { name: "Rahul", age: "16", }console.log(user)// { name: 'Rahul', age: '16' }Object.defineProperty(user, "gender", { value: "Male", enumerable: true, writable: false, configurable: false})delete user.gender// No error in consoleconsole.log(user)//{ name: 'Rahul', age: '16', gender: 'Male' }
(SEGUNDO)
"user strict"var user = { name: "Rahul", age: "16", }console.log(user)// //{ name: 'Rahul', age: '16' }Object.defineProperty(user, "gender", { value: "Male", enumerable: true, writable: false, configurable: false})delete user.gender// No error in consoledelete user.gender// TypeError: Cannot delete property 'gender' of #Object
Como verificar se está no modo estrito ?
"use strict"var isStrict = (function() { return !this; })(); console.log(isStrict)// true
var isStrict = (function() { return !this; })(); console.log(isStrict)// false
Necessidade de ajuda
Ajuda de alimentação na angariação de fundos para comprar um Teclado Mecânico. Esta pandemia afectou gravemente a minha família, pelo que não posso pedir ajuda ao meu DAD. Por favor, ajudem-me.
br>br>>>>/p>p>P>P>Pancelas para Leitura | ⚡ Aprendizagem Feliz e Codificação