Ele usa rotate(${current}deg)
porque ${current} é uma várivael do grau atual. Então na hora de executar essa linha ela vira rotate(0deg) .
Esse jeito de escrever uma string se template string.
Se ele chamar com aspas simpes ia executar rotate(${current}deg) como uma string comum e não é isso que queremos usar.
Por exemplo suponhamos que eu tenha um programa que imprima a minha idade.
var idade=29;
document.write='Minha idade é: '+idade+' anos';
ou usando a template string:
var idade=29;
document.write=`Minha idade é ${idade} anos`;
Para saber mais veja a documentação: https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/template_strings