¿Por qué omitir beginPath () redibuja todo?

Sincontext.beginPath(); el trazo rojo de 10 píxeles en la parte superior se vuelve a dibujar como un trazo verde de 30 píxeles, aunque las propiedades de contexto verde y 30 píxeles no se invocan hasta que el trazo ya se ha dibujado. ¿Porqué es eso?

window.onload = function() {
var canvas = document.getElementById("drawingCanvas");
var context = canvas.getContext("2d");  

context.moveTo(10,50);
context.lineTo(400,50);
context.lineWidth = 10;
context.strokeStyle = "red";
context.stroke();

//context.beginPath();
context.moveTo(10,120);
context.lineTo(400,120);
context.lineWidth = 30;
context.strokeStyle = "green";
context.stroke();
};

Respuestas a la pregunta(1)

Su respuesta a la pregunta