Trilhas
/
JavaScript
JavaScript
/
Exercícios
/
Letreiros personalizados
Letreiros personalizados

Letreiros personalizados

Exercício de aprendizagem

Introdução

Em JavaScript, as template strings permitem embutir expressões em strings, recurso também chamado de interpolação de strings. Esse recurso amplia a funcionalidade do objeto global String nativo da linguagem.

Você pode criar template strings em JavaScript envolvendo o texto entre crases. Elas não só permitem que o texto inclua novas linhas e outros caracteres especiais, como também permitem embutir variáveis e outras expressões.

const num1 = 1;
const num2 = 2;

`Adding ${num1} and ${num2} gives ${num1 + num2}.`;
// => Adding 1 and 2 gives 3.

No exemplo acima, usamos crases (``) para representar uma template string. O ${...} é o placeholder usado para substituição. Qualquer tipo que não seja string é convertido implicitamente para string. Esse assunto é abordado no conceito de conversão de tipos. Todos os tipos de expressão podem ser usados com template strings.

const track = 'JavaScript';

`This track on exercism.org is ${track.toUpperCase()}.`;
// => This track on exercism.org is JAVASCRIPT.

Quando você precisa formatar strings em várias linhas:

`This is an example of using template
strings to accomplish multiple
lines`;

Com os recursos de substituição disponíveis, você também pode introduzir lógica no processo para determinar qual deve ser a string de saída.

Um exemplo disso é embutir um operador ternário. Esse operador é uma forma curta de escrever uma instrução if/else. A sintaxe é condition ? consequent-expression : alternative-expression. Se a condição for verdadeira, o operando do lado esquerdo dos dois-pontos será retornado. Caso contrário, o resultado da expressão ternária é o operando do lado direito dos dois-pontos.

const grade = 95;

`You have ${grade > 90 ? 'passed' : 'failed'} the exam.`;
// => You have passed the exam.

Instruções

Neste exercício, você vai escrever código para ajudar uma empresa de letreiros a criar mensagens personalizadas para seus letreiros.

1. Monte um letreiro de ocasião

Implemente a função buildSign(occasion, name) que recebe uma string como parâmetro occasion e uma string com o nome de alguém como parâmetro name. Os dois parâmetros serão embutidos em uma string de template para exibir a mensagem no letreiro.

buildSign('Birthday', 'Rob');
// => "Happy Birthday Rob!"

2. Monte um letreiro de aniversário

Implemente a função buildBirthdaySign(age) que recebe uma idade e, com base nela, determina parte da mensagem no letreiro. Se a idade for 50 ou mais, o letreiro vai se referir à pessoa como mature; caso contrário, vai se referir a ela como young. A saída esperada exata é mostrada abaixo:

buildBirthdaySign(50);
// => "Happy Birthday! What a mature fellow you are."

buildBirthdaySign(45);
// => "Happy Birthday! What a young fellow you are."

3. Monte um letreiro de formatura

Implemente a função graduationFor(name, year) que recebe um nome como parâmetro do tipo string e um ano como parâmetro do tipo número, e usa interpolação de string para criar uma frase para um letreiro que usa uma quebra de linha para separar as duas linhas da mensagem.

graduationFor('Hannah', 2022);
/* => "Congratulations Hannah!
       Class of 2022"
*/

4. Calcule o custo de um letreiro

Implemente a função costOf(sign, currency) que recebe uma string com o conteúdo do letreiro e uma string que representa a moeda. O letreiro tem um preço base de 20 na moeda informada. Além disso, cada letra custa 2. (Os espaços em branco entram no cálculo.) A frase retornada inclui o custo de criação do letreiro, escrito com dois dígitos após o ponto decimal, seguido da string da moeda.

costOf('Happy Birthday Rob!', 'dollars');
// => "Your sign costs 58.00 dollars."
Editar via GitHub O link abre em uma nova janela ou aba
JavaScript Exercism

Tudo pronto para começar Letreiros personalizados?

Crie sua conta no Exercism para aprender e dominar JavaScript com 37 conceitos159 exercícios e mentoria humana de verdade, tudo de graça.