Maneira correta de converter o tamanho em bytes para KB, MB, GB em JavaScript

Eu tenhoeste código para converter o tamanho em bytes via PHP.

Agora quero converter esses tamanhos paralegível humano tamanhos usando JavaScript. Eu tentei converter esse código para JavaScript, que se parece com isso:

function formatSizeUnits(bytes){
  if      (bytes >= 1073741824) { bytes = (bytes / 1073741824).toFixed(2) + " GB"; }
  else if (bytes >= 1048576)    { bytes = (bytes / 1048576).toFixed(2) + " MB"; }
  else if (bytes >= 1024)       { bytes = (bytes / 1024).toFixed(2) + " KB"; }
  else if (bytes > 1)           { bytes = bytes + " bytes"; }
  else if (bytes == 1)          { bytes = bytes + " byte"; }
  else                          { bytes = "0 bytes"; }
  return bytes;
}

Esta é a maneira correta de fazer isso? Existe um caminho mais fácil?

questionAnswers(14)

yourAnswerToTheQuestion