Olá galera! Tudo bem com vocês? Depois de muuito tempo, resolvi voltar a escrever aqui no blog.
Como podem adivinhar pelo título, a ideia dessa série é mostrar alguns padrões/dicas que achei interessante do livro "Padrões JavaScript", do Stoyan Stefanov,
inclusive não poderia indicar mais! Se está procurando entender melhor sobre design patterns, coding patterns & antipatterns, esse livro é perfeito,
estou adorando o conteúdo! Bom, vamos lá! :p
Padrão objeto de configuração
Sabe quando sua função recebe muitos parâmetros e isso acaba dificultando a leitura? Por exemplo:
function registerUser (email, password, name, lastname, birthdate, country, city, subscribeNewsletter) {}
Você pode passar um objeto como parâmetro da função nesses casos, ou passar por exemplo, as informações "obrigatórias" como parâmetro
e passar um "objeto de configuração" com os campos opcionais. Alguns exemplos:
function registerUser (email, password, userConfig) {}
...
const userConfig = {
name: "Karoline",
lastname: "Alencar",
birthdate: "66/66/6666",
country: "Brazil",
city: "São Paulo",
subscribeNewsletter: false
}
registerUser("email@email.com", "password", userConfig)
function registerUser (userConfig) {}
...
const userConfig = {
email: "email@email.com",
password: "password",
name: "Karoline",
lastname: "Alencar",
birthdate: "66/66/6666",
country: "Brazil",
city: "São Paulo",
subscribeNewsletter: false
}
registerUser(userConfig)
Utilizando funções imediatas em objetos
Imagine que, ao iniciar uma aplicação, você precisa enviar uma mensagem baseado na localização do usuário e isso requer uma série de validações, uma alternativa é criar um objeto que faça a validação imediatamente e retorne a mensagem:
const userLocationMessage = {
message: (function () {
...
return 'hoi'
})(),
getMessage: function () {
return this.message;
}
}
// usando
userLocationMessage.getMessage() // "hoi"
Nesse caso, o valor de message
é "hoi".
Por hoje é isso! xoxo <3
Top comments (0)