1
resposta

Não há necessidade de ciar um regex

Percebi que não tem necessidade de criar uma variável com Regex para realizar o repleace. bastava usar:

        const date = new Date(this.inputData.value.replace('-', ','));

ao invés de:

        const date = new Date(this.inputData.value.replace(exp, ','));

Está correto ou o professor usou Regex por algum motivo específico? Muio obrigado!

1 resposta

Olá, Leandro.

Tudo bem?

Você está correto em sua observação. A função replace pode, de fato, ser usada diretamente com uma string, como você sugeriu. No entanto, o motivo pelo qual o professor optou por utilizar uma expressão regular (regex) neste contexto é para garantir que todos os hifens na string sejam substituídos, e não apenas o primeiro.

Quando você usa o replace com uma string, somente a primeira ocorrência da string é substituída. Por exemplo:

let str = "123-456-789";
str = str.replace("-", ","); 
console.log(str); // Saída: 123,456-789

Como você pode ver, apenas o primeiro hífen foi substituído. No entanto, se usarmos uma expressão regular com a flag 'g' (global), todas as ocorrências serão substituídas:

let str = "123-456-789";
let exp = /-/g;
str = str.replace(exp, ","); 
console.log(str); // Saída: 123,456,789

Neste caso, todos os hifens foram substituídos, que é o comportamento desejado no contexto da aula.

Espero ter ajudado. Qualquer dúvida manda aqui. Bons estudos.