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

Propriedade ou Função?

"o fillStyle não é uma função, e sim o que chamamos de propriedade. É equivalente a uma variável, por receber um valor, que é a cor."

"Para que pudéssemos construir esta imagem, precisamos conhecer a função getContext(), fillRect(), a propriedade fillStyle, lineTo e beginPath, a esse conjunto de propriedades damos o nome de APIs, ou bibliotecas."

Nos textos retirados da aula, entendi o porquê de fillStyle ser uma propriedade, mas não entendi o porquê de lineTo e beginPath serem propriedades. No caso o lineTo desenharia uma linha e o beginPath recomeçaria um caminho, isso não seria uma função, por ser uma ação, algo que será feito? Na primeira parte do curso de lógica de programação, foi explicado que é uma boa prática criar nomes de funções como se fossem ações. Então, qual seria a diferença de propriedade e função? Poderia dizer, de uma forma bem simplista, que propriedade é algum atributo da variável e função é algo a ser realizado pelo programa?

Percebi que no meu editor de texto (Sublime), as funções geralmente aparecem em azul. A dúvida surgiu, pois no caso pincel.lineTo e pincel.beginPath, elas ficam em azul, já a propriedade pincel.fillStyle, aparece em branco. E as funções que criamos ou usamos até agora no curso vem sempre acompanhadas de (), o que acontece com os exemplos citados. Não sei se é um assunto pertinente, mas fiquei em dúvida após ler o texto da aula.

2 respostas
solução!

Oi Rodrigo , vamos por partes quem é a API que utilizamos nesse curso:

API Canvas 2D

Tá mais o que é uma API: Uma API (Application Programming Interface) é um conjunto de características e regras existentes em uma aplicação que possibilitam interações com essa através de um software - ao contrário de uma interface de usuário humana. A API pode ser entendida como um simpes contrato entre a aplicação que a fornece e outros itens, como outros componentes do software, ou software de terceiros.

No desenvolvimento Web, uma API é geralmente um conjunto de methods padronizados, properties, eventos, e URLs que um desenvolvedor pode usar em seus aplicativos para interagir com componentes do navegador da Web de um usuário ou outro software / hardware no computador do usuário ou sites e serviços de terceiros.

fillstyle

Ou mais precisamente: CanvasRenderingContext2D.fillStyle

A interface Canvas Renderização de Contexto de duas Dimensões ( CanvasRenderingContext2D) é usada para desenhar retangulos, textos, imagens e outros objetos na tag ou elemento canvas.

A propriedade CanvasRenderingContext2D.fillStyle da API do Canvas 2D especifica a cor ou o estilo para usar regiões internas. O valor inicial é #000 (preto).

Tá mais da onde são esses nomes (interface, propriedades, funcções)

A linguagem JavaScript é projetada com base em um simples paradigma orientado a objeto. Um objeto é uma coleção de propriedades, e uma propriedade é uma associação entre um nome (ou chave) e um valor. Um valor de propriedade pode ser uma função, que é então considerada um método do objeto. Além dos objetos que são pré-definidos no browser, você pode definir seus próprios objetos.

getContext = O contexto de renderização

<canvas> cria uma superfície de desenho de tamanho fixo que expõe um ou mais contextos de renderização, que são usados para criar e manipular o conteúdo mostrado. Vamos nos concentrar no contexto de renderização 2D. Outros contextos podem fornecer diferentes tipos de renderização; por exemplo, WebGL usa um contexto 3D ("experimental-WebGL") baseado em OpenGL ES.

Incialmente o canvas é branco. Para mostrar alguma coisa, primeiro um script precisa acessar o contexto de renderização e desenhar sobre ele. O elemento <canvas> tem um método chamado getContext(), usado para obter o contexto de renderização e suas funções de desenho. getContext() recebe o tipo de contexto como parâmetro. Para gráficos 2D, que são abrangidos nesse curso, deverá ser especificado "2d".

lineTo

O método CanvasRenderingContext2D.lineTo() da API Canvas 2D conecta o último ponto do sub-caminho (sub-path) para as coordenadas x, y, através de uma linha (mas na realidade não a desenha).

beginPath

O método CanvasRenderingContext2D.beginPath() da API Canvas 2D inicia um novo caminho (path), esvaziando a lista de sub-caminhos (sub-paths). Use esse método quando você quiser criar um novo path.

Resumo: fillStyle(propriedade) lineTo(método ou função) beginPath(método ou função) pulaLinha, mostra(método ou função)

Para saber mais sobre canvas: CANVAS

Espero ter ajudado e bons estudos.

Muito obrigado, foi de grande ajuda. O link ajudou muito também.