Heads Or Tails pt-br Explainer

Explicação de Cara ou coroa

Objetivo do desafio: Use o operador ternário no lugar de uma if…else statement.

Passo a passo da solução: Para revisar, uma if…else statement assume este formato:

if (thisIsTrue) {

doThis

} else {

doThisInstead

}

Um operador ternário substitui esse formato por alguma coisa bem mais curta:

isThisTrue ? doThis : doThisInstead

O código antes de ? é chamado de teste. Se o teste retornar ‘true’, então o código após ? será executado. Se o teste retornar false, então o código após : será executado. Os operadores ternários são úteis, pois usam menos linhas de código do que uma if…else statement, entretanto são menos legíveis por seres humanos.

A variável coin usa a função pickRandom() para escolher aleatoriamente entre as strings 'heads' e 'tails'. Esta variável será então usada em nosso operador ternário.

Um operador ternário completo é fornecido como exemplo. Ele testará se a variável coin tem o valor 'heads'. Se isso for verdade, então drawBoxes('rwr rrr rwr') será executada. Se a variável coin for 'tails', então o teste retornará falso e drawBoxes('bbb wbw wbw') será executada.

Para concluir este desafio, adicione um 2º operador ternário. O teste será o mesmo, mas dessa vez iremos print('heads') no console se o teste coin === 'heads' for verdadeiro, ou print('tails') no console se o teste for falso.

Você também pode concluir o desafio testando se coin === 'tails', desde que o comando de impressão correta também seja usada.

Solução do código de exemplo:


var coin = pickRandom([

'heads',

'tails'

]);

coin === 'heads' ? drawBoxes('rwr rrr rwr') : drawBoxes('bbb wbw wbw');

coin === 'heads' ? print('heads') : print('tails');

Conceitos de JavaScript: Operador ternário, If Statements, Funções, Arrays

Conceitos do Grasshopper: print(), pickRandom()