Oi Fernando, tudo bem ?
O triângulo não aparece por um pequeno errinho. Está faltando o comando:
pincel.beginPath();
Este comando é responsável posicionar/reposicionar o "pincel" do canvas em alguma posição da tela. Temos de usá-lo antes de passar alguma coordenada para o desenho.
Deixarei abaixo o código modificado:
<canvas width = "600" height = "400"> </canvas>
<script>
var tela = document.querySelector("canvas");
var pincel =tela.getContext("2d");
pincel.fillStyle = "black";// paint the big triangle in black
pincel.beginPath();
pincel.moveTo(50, 50);
pincel.lineTo(50,400);// make the triangle
pincel.lineTo(400,400);
pincel.fill();
pincel.fillStyle = "white";
pincel.beginPath();
pincel.moveTo(100,175);
pincel.lineTo(100,350);// trace the iner triangle
pincel.lineTo(275,350);
pincel.lineTo(100,175);
pincel.fill();// paint of white the iner triangle
</script>
Qualquer dúvida estou a disposição. Espero ter ajudado. Bons estudos!!!