From ab60643f35c2417e58ededb01814dc7a29a339c0 Mon Sep 17 00:00:00 2001 From: Felipe Volpe de Freitas Date: Fri, 12 Dec 2025 15:55:37 -0300 Subject: [PATCH 1/2] Challenge-15 --- challenge-15/challenge-15.js | 145 ++++++++++++++++++++++------------- challenge-15/index.html | 10 +++ 2 files changed, 101 insertions(+), 54 deletions(-) create mode 100644 challenge-15/index.html diff --git a/challenge-15/challenge-15.js b/challenge-15/challenge-15.js index 45ff5edff2..de89c5d659 100644 --- a/challenge-15/challenge-15.js +++ b/challenge-15/challenge-15.js @@ -1,54 +1,91 @@ -/* -Envolva todo o código desse desafio em uma IIFE. -Crie um arquivo chamado index.html e adicione esse script ao HTML. -*/ - -/* -Crie uma função construtora chamada "Person". Esse construtor deve ter -as seguintes características: -- Deve receber 3 parâmetros: `name`, `lastName` e `age`; -- Deverá ter 3 propriedades: - - `name` - que receberá o valor do parâmetro `name`; - - `lastName` - que receberá o valor do parâmetro `lastName`; - - `age` - que receberá o valor do parâmetro `age`; -- Deverá ter 3 métodos: - - `getFullName` - que deve retornar o nome completo do objeto criado, - no formato: - - "[NAME] [LASTNAME]" - - `getAge` - que deverá retornar a idade (age); - - `addAge` - esse método não deverá ter nenhum parâmetro, mas ao invocá-lo - iremos passar um único argumento, que é a quantidade de anos que devem ser - adicionados à idade original (age). Esse método deverá retornar o objeto - que será instanciado. -*/ -// ? - -/* -Crie 3 novos objetos usando o construtor acima. Os objetos serão novas -pessoas. As variáveis deverão ser o primeiro nome da pessoa. Passe os -parâmetros corretamente para o construtor para criar as novas pessoas. -Mostre as 3 novas pessoas criadas no console (Um console.log por pessoa). -*/ -console.log( 'Novas pessoas criadas à partir de Person:' ); -// ? - -/* -Mostre no console o nome completo de cada pessoa. -*/ -console.log( '\nNomes das pessoas:' ); -// ? - -/* -Mostre no console as idades de cada pessoa, com a frase: -- "[NOME COMPLETO] tem [IDADE] anos." -*/ -console.log( '\nIdade das pessoas:' ); -// ? - -/* -Adicione alguns anos à cada pessoa, e mostre no console a nova idade de -cada um. A frase deverá ser no formato: -- "[NOME COMPLETO] agora tem [NOVA IDADE] anos." -*/ -console.log( '\nNova idade das pessoas:' ); -// ? \ No newline at end of file +(function(){ + + /* + Envolva todo o código desse desafio em uma IIFE. + Crie um arquivo chamado index.html e adicione esse script ao HTML. + */ + + /* + Crie uma função construtora chamada "Person". Esse construtor deve ter + as seguintes características: + - Deve receber 3 parâmetros: `name`, `lastName` e `age`; + - Deverá ter 3 propriedades: + - `name` - que receberá o valor do parâmetro `name`; + - `lastName` - que receberá o valor do parâmetro `lastName`; + - `age` - que receberá o valor do parâmetro `age`; + - Deverá ter 3 métodos: + - `getFullName` - que deve retornar o nome completo do objeto criado, + no formato: + - "[NAME] [LASTNAME]" + - `getAge` - que deverá retornar a idade (age); + - `addAge` - esse método não deverá ter nenhum parâmetro, mas ao invocá-lo + iremos passar um único argumento, que é a quantidade de anos que devem ser + adicionados à idade original (age). Esse método deverá retornar o objeto + que será instanciado. + */ + function Person(name, lastName, age){ + this.name = name; + this.lastName = lastName; + this.age = age; + + this.getFullName = function(){ + return this.name + ' ' + this.lastName; + }; + + this.getAge = function(){ + return this.age + }; + + this.addAge = function(){ + this.age += arguments[0]; + return this + }; + }; + + /* + Crie 3 novos objetos usando o construtor acima. Os objetos serão novas + pessoas. As variáveis deverão ser o primeiro nome da pessoa. Passe os + parâmetros corretamente para o construtor para criar as novas pessoas. + Mostre as 3 novas pessoas criadas no console (Um console.log por pessoa). + */ + console.log( 'Novas pessoas criadas à partir de Person:' ); + var felipe = new Person('Felipe', 'Freitas', 25); + var bruno = new Person('Bruno', 'Garcia', 26); + var jorge = new Person('Jorge', 'Tigre', 25); + + console.log(felipe); + console.log(bruno); + console.log(jorge); + + /* + Mostre no console o nome completo de cada pessoa. + */ + console.log( '\nNomes das pessoas:' ); + console.log(felipe.getFullName()) + console.log(bruno.getFullName()) + console.log(jorge.getFullName()) + + /* + Mostre no console as idades de cada pessoa, com a frase: + - "[NOME COMPLETO] tem [IDADE] anos." + */ + console.log( '\nIdade das pessoas:' ); + console.log(felipe.getFullName() + ' tem ' + felipe.getAge() + ' anos.') + console.log(bruno.getFullName() + ' tem ' + bruno.getAge() + ' anos.') + console.log(jorge.getFullName() + ' tem ' + jorge.getAge() + ' anos.') + + /* + Adicione alguns anos à cada pessoa, e mostre no console a nova idade de + cada um. A frase deverá ser no formato: + - "[NOME COMPLETO] agora tem [NOVA IDADE] anos." + */ + console.log( '\nNova idade das pessoas:' ); + felipe.addAge(4) + bruno.addAge(2) + jorge.addAge(67) + + console.log(felipe.getFullName() + ' agora tem ' + felipe.getAge() + ' anos') + console.log(bruno.getFullName() + ' agora tem ' + bruno.getAge() + ' anos') + console.log(jorge.getFullName() + ' agora tem ' + jorge.getAge() + ' anos') + +})() \ No newline at end of file diff --git a/challenge-15/index.html b/challenge-15/index.html new file mode 100644 index 0000000000..ba77fa33df --- /dev/null +++ b/challenge-15/index.html @@ -0,0 +1,10 @@ + + + + + Desafio 15 + + + + + \ No newline at end of file From 3e39aefc0ac9f7fa3999287f55ed9a24d6abadfd Mon Sep 17 00:00:00 2001 From: Felipe Volpe de Freitas Date: Fri, 12 Dec 2025 16:04:49 -0300 Subject: [PATCH 2/2] =?UTF-8?q?Nomea=C3=A7=C3=A3o=20de=20fun=C3=A7=C3=B5es?= =?UTF-8?q?=20e=20nova=20resposta=20para=20ultima=20quest=C3=A3o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- challenge-15/challenge-15.js | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/challenge-15/challenge-15.js b/challenge-15/challenge-15.js index de89c5d659..05752bf141 100644 --- a/challenge-15/challenge-15.js +++ b/challenge-15/challenge-15.js @@ -28,15 +28,15 @@ this.lastName = lastName; this.age = age; - this.getFullName = function(){ + this.getFullName = function getFullName(){ return this.name + ' ' + this.lastName; }; - this.getAge = function(){ + this.getAge = function getAge(){ return this.age }; - this.addAge = function(){ + this.addAge = function addAge(){ this.age += arguments[0]; return this }; @@ -88,4 +88,8 @@ console.log(bruno.getFullName() + ' agora tem ' + bruno.getAge() + ' anos') console.log(jorge.getFullName() + ' agora tem ' + jorge.getAge() + ' anos') + // OU + + console.log(felipe.getFullName() + ' agora tem ' + felipe.addAge(2).getAge() + ' anos') + })() \ No newline at end of file