Vanilla Javascript - #15 this, use strict e iife
23/04/2019Neste tutorial abordaremos os temas: this, iife e use strict, três conceitos importantíssimos no Javascript.
this
Por padrão a palavra reservada this faz referência ao objeto global window, inclusive quando usado dentro de funções.
console.log(this);
function teste()
{
console.log(this);
}
teste();
Quando utilizamos a palavra reservada dentro de uma propriedade de um objeto ela faz referência ao objeto:
let obj={
name:'Thiago',
func: function(){
return this.name;
}
}
console.log(obj.func());
use strict
Quando utilizamos a expressão use strict dentro de nosso script, indicamos ao navegador que queremos que o javascript seja lido com regras estritas (strict mode).
O use strict corrige certos bugs da linguagem e consequentemente traz mais segurança para sua aplicação.
Algumas correções: não permite que variáveis sejam criadas sem serem declaradas, não permite que variáveis ou constantes sejam criadas com nomes de palavras reservadas. A palavra reservada this retorna undefined quando usada dentro de funções.
'use strict';
let x=10;
console.log(x);
let eval2=10;
console.log(eval);
function teste()
{
console.log(this);
}
teste();
console.log(this);
IIFE (Immediately-Invoked Function Expression)
As IIFE são invocadas imediatamente após a sua criação. Elas são muito interessantes para evitar a poluição do escopo global.
(function(win,doc){
'use strict';
let x=20;
console.log(x);
console.log(win);
console.log(doc);
console.log(this);
})(window, document);
Por hoje é só! Sucesso nos códigos e na vida!