diff --git a/challenge-15/challenge-15.js b/challenge-15/challenge-15.js index 45ff5edff2..05752bf141 100644 --- a/challenge-15/challenge-15.js +++ b/challenge-15/challenge-15.js @@ -1,54 +1,95 @@ -/* -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 getFullName(){ + return this.name + ' ' + this.lastName; + }; + + this.getAge = function getAge(){ + return this.age + }; + + this.addAge = function addAge(){ + 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') + + // OU + + console.log(felipe.getFullName() + ' agora tem ' + felipe.addAge(2).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