Questão nº 53
Questão de Tecnologia da Informação · FCC TRT2 2018 (nº 53)
Considere a página web abaixo, que utiliza o Angular JS versão 1.6.9.
```
<!DOCTYPE html>
<html>
<head>
<title> TRT </title>
<script src="angular.min.js">
</script>
</head>
<body>
<div ng-app="" ng-init="a=5;b=4">
<p>Total: <span ng-bind="a b"></span></p>
</div>
</body>
</html>
```
O resultado do cálculo envolvendo as variáveis a e b é mostrado pela instrução `<p>Total: <span ng-bind="a b"></span></p>`. Outra forma de realizar o mesmo procedimento é usando a instrução
- A`<p>Total: <span ng-calc="a * b"></span></p>`
- B`<p>Total: {{ a * b }}</p>` (alternativa correta)
- C`<p>Total: javascript.calc(a * b)</p>`
- D`<p>Total: <script>Math.calc(a * b)</script></p>`
- E`<p>Total: <script ng-math="a * b"></script></p>`
Resposta comentada
Gabarito Alternativa B
Em AngularJS, a interpolação (ou data binding) é a forma de exibir dados do seu código JavaScript (o "modelo") diretamente no HTML (a "view"). Isso é feito usando expressões que são avaliadas e o resultado é inserido no HTML.
- (A) Incorreta:
ng-calcnão é uma diretiva padrão do AngularJS para realizar cálculos e exibir o resultado. - (B) Correta: A sintaxe
{{ expressão }}é a forma mais comum e idiomática de usar interpolação em AngularJS. Ela avalia a expressãoa * be insere o resultado diretamente no HTML, funcionando de forma idêntica à diretivang-bind. - (C) Incorreta:
javascript.calc(a * b)não é uma sintaxe válida para expressões AngularJS nem para chamar funções JavaScript diretamente no HTML dessa forma para exibição. As expressões AngularJS são avaliadas dentro do escopo do framework. - (D) Incorreta: O uso da tag
<script>serve para executar código JavaScript, não para exibir o resultado de uma expressão diretamente no corpo do HTML como parte do conteúdo de um parágrafo. Além disso,Math.calcnão é uma função JavaScript padrão. Armadilha da banca: Esta alternativa tenta enganar o aluno que pensa em "JavaScript" e "cálculo", mas ignora completamente o mecanismo de data binding do AngularJS e o propósito da tag<script>. - (E) Incorreta: Assim como na alternativa D, a tag
<script>não é usada para exibição inline de resultados de expressões em AngularJS.ng-mathnão é uma diretiva padrão do AngularJS.
Fonte: FCC TRT2 2018 Analista Judiciário - Apoio Especializado - Especialidade Tecnologia da Informação (Caderno Tipo 001). Reproduzida para fins de estudo.