Oi Davi, tudo bem?
O código que você postou realmente deveria imprimir "50" para "num2", e não "100". Isso porque, na linha onde você escreve "let num2 = num", você está atribuindo o valor de "num" (que é 50) a "num2". Portanto, a menos que o valor de "num" seja alterado para "100" em algum lugar do código que não foi compartilhado, "num2" deveria, de fato, ser "50".
Um exemplo prático:
let num = 50;
let num2 = num; // num2 agora é 50, pois recebeu o valor de num
console.log(num); // imprime 50
console.log(num2); // também imprime 50
num = 100; // alteramos o valor de num para 100
console.log(num); // imprime 100
console.log(num2); // ainda imprime 50, pois o valor de num2 não foi atualizado
Mesmo alterando o valor de "num" após a atribuição, o valor de "num2" permanece o mesmo, pois ele recebeu o valor de "num" no momento da atribuição e não é atualizado automaticamente quando "num" muda.
Um abraço e bons estudos.