// 1. Destructuring em objetos
// Crie um objeto com nome, idade e email. Use destructuring para extrair essas informações em variáveis separadas.
const objetoUm = {
nome: 'tairone',
idade: 36,
email: 'tr.silva@hotmail.com.br'
}
const {nome, idade, email} = objetoUm
console.log(nome, idade, email);
// 2. Destructuring em arrays
// Crie um array com 3 linguagens de programação. Use destructuring para criar variáveis ling1, ling2 e ling3.
const linguagens = ['java', 'js', 'pyton'];
const [ling1, ling2, ling3] = linguagens
console.log(ling1,ling2, ling3);
// 3. Rest operator em função
// Crie uma função que receba vários números como parâmetros usando o operador rest (...).
// Utilize um laço for para somar todos os valores recebidos e retorne o total.
function somarTudo(...numeros) {
let soma = 0;
for (const numero of numeros) {
soma += numero;
}
return soma;
}
console.log(somarTudo(1, 2, 3, 4)); // 10
// 4. Spread operator com arrays
// Crie dois arrays de frutas e combine-os usando o operador spread.
let frutras = ['manga', 'goiaba', 'melancia'];
let frutrasUm = ['banana', 'araça', 'pitanga', 'cupuaçu'];
const frutasDois = [...frutras, ...frutrasUm];
console.log(frutasDois);
// 5. Spread operator com objetos
// Crie dois objetos: um com nome e outro com idade. Combine-os em um terceiro objeto usando spread.
const nomes = { nome: 'tairone'};
const idades = {idade: 36};
const nomeIdade = {...nomes, ...idades};
console.log(nomeIdade);
// 6. Função com parâmetro default
// Crie uma função que recebe um nome e imprime "Olá, [nome]". Se o nome não for passado, use "visitante" como valor padrão.
// fiz de cabeça
function saudacao (nomeUm){
if (nomeUm != null){
console.log('Ola, ', nomeUm);
} else {
console.log('Ola visitante');
}
}
saudacao('tairone');
// fui ver como fazer com arrow, e vi que dava para mudar os if tambem. Achei mais bonito
let saudacaoArron = (nomeDois) => {
nomeDois != null ? console.log('Ola, ', nomeDois) : console.log('Ola visitante');
}
saudacaoArron('nathalia');
// Mas logico q dava para ser mais simples ainda :p
let saudacaoSimples = (nomeTres = 'Visitante') => {
console.log('Ola, ', nomeTres);
}
saudacaoSimples('rosangela');
// 7. Trabalhando com datas
// Crie uma variável com a data atual e exiba o dia, mês e ano formatados.
let data = new Date();
console.log(data.toLocaleDateString('pt-br'))
// 8. Modularização com export/import
// Crie uma função simples chamada somar(a, b) e exporte-a como módulo (modo CommonJS ou ES Modules, dependendo do ambiente).
//export function somar(num1,num2) {return num1 + num2;}
//import {somar} from './exercicios14.js';
//console.log(somar(1,2));
// 9. Objeto com função construtora
// Crie uma função construtora chamada Livro que receba titulo e autor como parâmetros e os armazene em propriedades do objeto.
// Em seguida, crie dois objetos Livro usando essa função.
// 10. Método no objeto
// Adicione à função construtora Livro uma função chamada descrever, que retorna uma frase com o título e o autor do livro, usando concatenação de strings.
function Livros(titulo, autor){
this.titulo = titulo;
this.autor = autor;
this.descrever = function (){
return "O titulo do Livro é " + this.titulo + ". Esta obra foi escriata por " + this.autor + '. Boa leitura'
}
}
const livro1 = new Livros('Biblia', "Jeová");
const livro2 = new Livros('One Piece', 'Eichiro Oda Genio');
console.log(livro1);
console.log(livro1.descrever());
console.log(livro2);
console.log(livro2.descrever());
let livraria = (titulo, autor, faixaEtaria) => ({titulo, autor, faixaEtaria, descrever: function (){
return "O titulo do Livro é " + titulo + ". Esta obra foi escriata por " + autor + 'e é recomendada para a faixa etaria de ' + faixaEtaria + '. Boa leitura'
}});
const livro3 = livraria('Bleach', 'Tite Cubo', '14');
const livro4 = livraria('FullMetal alchemist', ' Hiromu Arakawa', '14');
console.log(livro3)
console.log(livro3.descrever())
console.log(livro4)
console.log(livro4.descrever())
class Biblioteca {
constructor(titulo, autor, faixaEtaria) {
Object.assign(this,{titulo, autor, faixaEtaria, descrever: function (){
return "O titulo do Livro é " + titulo + ". Esta obra foi escriata por " + autor + 'e é recomendada para a faixa etaria de ' + faixaEtaria + '. Boa leitura'
}})
}
}
const livro5 = new Biblioteca('Trigun', 'Yasuhiro Nightow', '14+')
const livro6 = new Biblioteca('Soul Eater', 'Atsushi Ohkubo', '14')
console.log(livro5)
console.log(livro5.descrever())
console.log(livro6)
console.log(livro6.descrever())