Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Resolução do Instrutor

Não entendi a resolução do instrutor nesse exercício. Aparecem linhas de código que não foram cobertas na video-aula, nem no texto nem no decorrer dos exercícios anteriores

var escala = 1.2;
    var bandeira = document.getElementById("colombia");
    bandeira.width *= escala;
    bandeira.height *= escala;
    var largura = bandeira.width;
    var altura = bandeira.height;

Ele criou uma variável escala = 1.2 e bandeira para apontar para o canvas. Até aí tudo bem... mas o que seriam esses "*=" ? Fiquei boiando nessa resolução.

2 respostas
solução!

Olá Luiz Claudio

O *= é um atalho que existe em diversas linguagens de programação para representar a multiplicação de variáveis. Vamos ver um exemplo:

var a = 10;
var b = 20;

Para multiplicarmos a por b e guardarmos o resultado em a, precisamos do seguinte código:

a = a * b;

Mas veja que nesse código a variável a está sendo repetida dos dois lados do símbolo =. Para evitar essa repetição, utilizamos o *=:

a *= b; // Isso é equivalente a: a = a * b;

Então no código do exercício, a linha:

bandeira.width *= escala;

Na verdade significa:

bandeira.width = bandeira.width * escala;

Ou seja, estamos aumentando o tamanho da bandeira em 20% (multiplicando por 1.2).

Valeu Victor! Obrigado pela resposta!