Como definir um valor padrão para um parâmetro de função em JavaScript?
Olá a todos! Comecei a estudar JavaScript recentemente e me deparei com um problema. Estou escrevendo uma função que saúda o usuário. Quero que, se o nome não for passado, o valor padrão seja "Convidado". Aqui está meu código:
```javascript
function greet(name) {
return "Olá, " + name + "!";
}
console.log(greet("Ana")); // Olá, Ana!
console.log(greet()); // Olá, undefined!
```
Como podem ver, se eu chamo a função sem argumento, aparece "undefined" na string. Li que em outras linguagens, como Python, é possível definir um valor padrão diretamente no parâmetro. E como fazer isso em JavaScript? Tentei escrever `function greet(name = "Convidado")`, mas não tenho certeza se está correto e se funciona em todos os navegadores.
Também ouvi falar de um método antigo usando a verificação `if (typeof name === 'undefined')`. Qual deles é melhor usar? E há diferença entre `undefined` e `null` nesse contexto? Agradeço por uma explicação detalhada com exemplos.
<<>>