André, boa tarde.
Só para reforçar, os dois parâmetros ("locale" e "options") foram adicionados na especificação ECMAScript Internationalization API 1.0 (ECMA-402) e a maioria dos browsers já os suportam. Porém, caso utilize algum browser que não os suportem, a chamada ao método sem parâmetros deve retornar de acordo com o locale do S.O., o que na maioria dos casos irá resolver (me corrija se estiver errado).
Só para complementar, o objeto Number também tem o método toLocaleString que serve para converter de Number para strings com os números formatados e inclusive adicionar o prefixo da moeda, conforme documentação e exemplo abaixo:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString
let numero = 123321.23;
let formato = { minimumFractionDigits: 2 , style: 'currency', currency: 'BRL' };
let moeda = numero .toLocaleString('pt-BR', formato);
console.log(moeda);
"R$ 123.321,23"
Abraços.