1.7 KiB
1.7 KiB
id | title | challengeType | forumTopicId | dashedName |
---|---|---|---|---|
587d7db2367417b2b2512b8b | Entender a expressão de função invocada imediatamente (IIFE) | 1 | 301328 | understand-the-immediately-invoked-function-expression-iife |
--description--
Um padrão comum em JavaScript é executar a função assim que ela é declarada:
(function () {
console.log("Chirp, chirp!");
})();
Essa é uma expressão de função anônima que executa logo após ser declarada, e exibe imediatamente no console Chirp, chirp!
.
Note que a função não possui nome e não é armazenada em uma variável. Os dois parênteses () ao final da expressão da função faz com que ela seja imediatamente executada ou invocada. Este padrão é conhecido como immediately invoked function expression (expressão de função invocada imediatamente) ou IIFE.
--instructions--
Rescreva a função makeNest
e remova a chamada a ela para que no lugar seja uma expressão de função imediatamente invocada (IIFE) anônima.
--hints--
A função deve ser anônima.
assert(/\((function|\(\))(=>|\(\)){?/.test(code.replace(/\s/g, '')));
Sua função deve ter parênteses no final da expressão para chamar ela imediatamente.
assert(/\(.*(\)\(|\}\(\))\)/.test(code.replace(/[\s;]/g, '')));
--seed--
--seed-contents--
function makeNest() {
console.log("A cozy nest is ready");
}
makeNest();
--solutions--
(function () {
console.log("A cozy nest is ready");
})();
(function () {
console.log("A cozy nest is ready");
}());
(() => {
console.log("A cozy nest is ready");
})();
(() =>
console.log("A cozy nest is ready")
)();