resultado = w ? x : y; Considerando que o CoffeeScript é uma pequena linguagem que compila em JavaScript, assinale a opção que apresenta o código CoofeeScript que equivale ao código JavaScript apresentado.
- A)resultado = if w then x else y
Correta: em CoffeeScript, o ternario do JavaScript e escrito como `if w then x else y`.
- B)resultado = w [x, y]
Errada: lista/array nao substitui a estrutura condicional do ternario.
- C)Function resultado (x , y) { w };
Errada: isso nao representa a sintaxe de CoffeeScript nem uma expressao condicional valida.
- D)resultado = w mod (x /y)
Errada: `mod` e resto de divisao, sem relacao com operador ternario.
- E)resultado = (w % x) / y
Errada: mistura operadores aritmeticos e nao expressa a escolha condicional entre `x` e `y`.
Gabarito: A
Em JavaScript, a expressao `w ? x : y` usa o operador ternario: se `w` for verdadeiro, o resultado vira `x`; caso contrario, vira `y`. E aquele atalho classico para escolher entre duas alternativas sem escrever um `if` completo. No CoffeeScript, essa ideia aparece de forma bem parecida, so que com sintaxe mais enxuta. Em vez do `? :`, voce usa `if ... then ... else ...`. Assim, a expressao que equivale ao codigo dado e `resultado = if w then x else y`. Perceba que o valor da expressao inteira e atribuido a `resultado`. Isso e importante porque, em CoffeeScript, o `if` pode ser usado como expressao, retornando um valor, e nao apenas como comando de controle de fluxo. Ou seja, ele faz o papel do ternario do JavaScript. Resumo de prova: `w ? x : y` em JavaScript corresponde a `if w then x else y` em CoffeeScript. Se voce enxergar o ternario, pense em `if/then/else` e siga em frente sem drama.