⊗jsSpOtRO 270 of 294 menu

Otimização de Operações Repetitivas em JavaScript

Frequentemente, programadores iniciantes fazem chamadas para a mesma função várias vezes sem pensar, desperdiçando recursos.

Vamos ver um exemplo. Suponha que temos uma string contendo um determinado caminho:

let path = 'img.png';

Suponha que nossa tarefa seja verificar se o caminho termina com a extensão .png ou .jpg. Alguns programadores iniciantes escreveriam a seguinte solução:

let path = 'img.png'; if (path.slice(-4) === '.png' || path.slice(-4) === '.jpg') { console.log('+++'); } else { console.log('---'); }

O que há de errado com esta solução? O problema é que o método slice é chamado duas vezes, fazendo a mesma coisa. Isto, é claro, não é o ideal.

Para otimizar, é necessário realizar o corte da string uma vez, armazenar o resultado em uma variável e, em seguida, usar essa variável posteriormente:

let path = 'img.png'; let ext = path.slice(-4); if (ext === '.png' || ext === '.jpg') { console.log('+++'); } else { console.log('---'); }

Otimize o código abaixo:

let num = 123; if (String(num)[0] === '1' || String(num)[0] === '2') { console.log('+++'); } else { console.log('---'); }

Otimize o código abaixo:

let date = new Date(); if (date.getDay() === 0 || date.getDay() === 6) { console.log('fim de semana'); } else { console.log('dia de semana'); }

Otimize o código abaixo:

let date = new Date(); let res; if (date.getFullYear() >= 2020 && date.getFullYear() <= 2030) { res = 'ano ' + date.getFullYear() + ' é válido'; } else { res = 'ano ' + date.getFullYear() + ' não é válido'; } console.log(res)
Português
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nós usamos cookies para o funcionamento do site, análises e personalização. O processamento de dados é realizado de acordo com a Política de Privacidade.
aceitar todas configurar rejeitar