3
respostas

Atributos privados usando IIFEs

Olá,

No caso da privacidade do saldo (dentro da classe ContaCorrente) , não podemos uma função imediata IIFE (immediatly-invocked function expressions ) para resolver esse problema de escopo/visilibidade?

Obrigado!

3 respostas

Alguém pode ajudar? Pelo que vi as IIFES não aceitam chamadas externas porém se houver um "return", pode-se liberar informações para fora da IIFE. Exemplo:

   return {
        getInput: function() {
            return {
                type: document.querySelector(DOMstrings.inputType).value, // Will be either inc or exp
                description: document.querySelector(DOMstrings.inputDescription).value,
                value: parseFloat(document.querySelector(DOMstrings.inputValue).value)
            };
        },

O primeiro return libera o método 'getInput' e o segundo devolve os atributos do objeto...

Oi, Julio, tudo bem?

O IIFE é ligado a ideia de funções do Javascript, é um Design Pattern da linguagem em que trabalha com o escopo da função prevenindo o acesso externo das variáveis declaradas nela. Mas no caso da Orientação a Objetos, que é um paradigma universal para qualquer linguagem, independente da sintaxe e do design de determinadas linguagens, não cabe o IIFE, já que temos trabalhar com métodos e atributos da classe, e não com funções.

Nessa aula aqui, o instrutor Felipe explica sobre o funcionamento da IIFE: https://cursos.alura.com.br/course/javascript-manipulacao-dom/task/78222

Ok Laís, obrigado pela ajuda!