6 Funções Utilitárias Assassinas em JavaScript

Isso é uma extensão dos 7 Killer One-Liners da semana passada em JavaScript . Se você ainda não leu o artigo, você é altamente encorajado a fazê-lo.

1. Verifique se um elemento está visível na viewport

IntersectionObserveré uma ótima maneira de verificar se um elemento está visível na viewport .

const callback = (entries) => {
  entries.forEach((entry) => {
    if (entry.isIntersecting) {
      // `entry.target` is the dom element
      console.log(`${entry.target.id} is visible`);
    }
  });
};
const options = {
  threshold: 1.0,
};
const observer = new IntersectionObserver(callback, options);
const btn = document.getElementById("btn");
const bottomBtn = document.getElementById("bottom-btn");
observer.observe(btn);
observer.observe(bottomBtn);

2. Detectar dispositivo

Você pode usar o navigator.userAgentpara obter insights minuciosos e detectar o dispositivo que executa o aplicativo

const detectDeviceType = () =>
  /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(
    navigator.userAgent
  )
    ? "Mobile"
    : "Desktop";
console.log(detectDeviceType());

Você pode simplesmente alternar a visibilidade de um elemento usando a style.visibilitypropriedade e caso queira removê-lo do fluxo de renderização , você pode usar a style.displaypropriedade.

const hideElement = (element, removeFromFlow = false) => {
  removeFromFlow
    ? (element.style.display = "none")
    : (element.style.visibility = "hidden");
};

4. Obtenha os parâmetros do URL

JavaScript torna a busca parametersde qualquer endereço um passeio no parque usando o URLobjeto.

const url = new URL(window.location.href);
const paramValue = url.searchParams.get("paramName");
console.log(paramValue);

Você pode deep copyqualquer objeto convertendo-o em uma string e de volta em um objeto .

const deepCopy = (obj) => JSON.parse(JSON.stringify(obj));

O JavaScript é fornecido com uma setTimeoutfunção, mas não retorna um Promiseobjeto, dificultando o uso em async functions. Então temos que escrever nossa própria função wait/ sleep.

const wait = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
const asyncFunc = async () => {
  await wait(1000);
  console.log("async");
};
asyncFunc();

Siga-me para novidades semanais sobre o domínio da tecnologia

Precisa de um freelancer de desenvolvimento de front-end com a melhor classificação para acabar com seus problemas de desenvolvimento? Entre em contato comigo no Upwork

Quer ver no que estou trabalhando? Confira meu site pessoal e GitHub

Quer se conectar? Entre em contato comigo no LinkedIn

Sou um freelancer que começará como Nômade Digital em meados de 2022. Quer pegar a viagem? Siga-me no Instagram

Suggested posts

O desafio de leitura Goodreads é tóxico

O desafio de leitura Goodreads é tóxico

A coceira na minha mão aumentou enquanto eu negociava com o livreiro local por mais um livro. Este livro, como o resto que comprei recentemente, encontraria seu trono na minha pilha 'To Be Read' (TBR); e ainda assim, eu comprei.

O primeiro livro de uma criança sobre como ficar chapado

O primeiro livro de uma criança sobre como ficar chapado

(Aviso - isso é sátira, com a intenção de ser alegremente subversivo - definitivamente não é para crianças) Você viu sua mãe e seu pai se esconderem na cozinha e fumarem aqueles cigarros fedorentos. Eles dizem a você.

Related posts

Financiando a remoção de carbono no FY24

A divisão das solicitações de apropriações da Carbon180 em todos os caminhos

Financiando a remoção de carbono no FY24

Por Alyson Lee, consultor administrativo de assuntos governamentais O processo de apropriações anuais do governo federal é fundamental para nossos esforços para financiar a remoção de dióxido de carbono (CDR). Todos os anos, a Carbon180 envia solicitações a vários escritórios do Congresso para ajudar a orientar para onde os dólares do próximo ano irão fluir.

O que torna um podcast influente?

O que torna um podcast influente?

Na semana passada, notei um comunicado de imprensa, enviado via PressGazette (um site de notícias da mídia britânica). O artigo anunciava que a Acast, a empresa de publicidade e hospedagem de podcast Scandi, lideraria um consórcio de "provavelmente os editores mais influentes" em podcasting.

Encontrar informações sobre nomes de domínio

Um trecho de Small, Sharp Software Tools por Brian P. Hogan

Encontrar informações sobre nomes de domínio

Quando você faz uma solicitação para facebook.com, seu computador procura o nome de domínio para traduzir esse nome de domínio em um endereço IP para que seu computador possa fazer essa conexão.

A perseguição aos cristãos: o crime de ódio do qual não falamos

Esqueça a islamofobia: cristãos (e judeus) são as principais vítimas de crimes de ódio religioso.

A perseguição aos cristãos: o crime de ódio do qual não falamos

Qualquer mente racional sabe que os círculos políticos e midiáticos são dominados pela esquerda, até mesmo pela extrema esquerda, um estado de coisas que cria um desequilíbrio no discurso político. No campo da religião, esse desequilíbrio é bem visível: jornais e redes de esquerda não se apressam em defender a fé cristã.