diff --git a/challenge-15/challenge-15.js b/challenge-15/challenge-15.js index 45ff5edff2..d773bbac90 100644 --- a/challenge-15/challenge-15.js +++ b/challenge-15/challenge-15.js @@ -1,54 +1,90 @@ -/* -Envolva todo o código desse desafio em uma IIFE. -Crie um arquivo chamado index.html e adicione esse script ao HTML. -*/ +(function(){ + /* + Envolva todo o código desse desafio em uma IIFE. + Crie um arquivo chamado index.html e adicione esse script ao HTML. + */ + // Feito + + /* + 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. + */ + var Person = function (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). + */ + + var luan = new Person("Luan","Sousa",24); + var camila = new Person("Camila","Ribeiro",30); + var carlos = new Person("Carlos","Eduardo",25); + console.log( 'Novas pessoas criadas à partir de Person:' ); + console.log(luan); + console.log(camila); + console.log(carlos); + + /* + Mostre no console o nome completo de cada pessoa. + */ + + console.log( '\nNomes das pessoas:' ); + console.log(luan.getFullName()); + console.log(camila.getFullName()); + console.log(carlos.getFullName()); + + /* + Mostre no console as idades de cada pessoa, com a frase: + - "[NOME COMPLETO] tem [IDADE] anos." + */ + + console.log( '\nIdade das pessoas:' ); + console.log(luan.getFullName() + " tem "+ luan.getAge() +" anos."); + console.log(camila.getFullName() + " tem "+ camila.getAge() +" anos."); + console.log(carlos.getFullName() + " tem "+ carlos.getAge() +" anos."); -/* -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 + /* + 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:' ); + console.log(luan.addAge(2)); + console.log(camila.addAge(5)); + console.log(carlos.addAge(5)); + console.log(luan.getFullName() + " agora tem "+ luan.addAge(2).getAge() +" anos."); + console.log(camila.getFullName() + " agora tem "+ camila.addAge(5).getAge() +" anos."); + console.log(carlos.getFullName() + " agora tem "+ carlos.addAge(5).getAge() +" anos."); + +}());