⊗jsSpOtRO 270 of 294 menu

การปรับปรุงการทำงานซ้ำๆ ใน JavaScript

บ่อยครั้งที่โปรแกรมเมอร์มือใหม่มักเรียกใช้ฟังก์ชันเดียวกันซ้ำๆ โดยไม่คิดอะไร ทำให้สิ้นเปลืองทรัพยากร

ลองมาดูตัวอย่างกัน สมมติว่า เรามีสตริงที่เก็บเส้นทางไว้:

let path = 'img.png';

สมมติว่าเรามีงานที่ต้องตรวจสอบว่า เส้นทางนั้นลงท้ายด้วยนามสกุลไฟล์ .png หรือ .jpg หรือไม่ โปรแกรมเมอร์มือใหม่บางคน อาจเขียนโค้ดแก้ปัญหาดังนี้:

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

มีปัญหาอะไรกับวิธีนี้? ปัญหาคือ เมธอด slice ถูกเรียกใช้สองครั้ง เพื่อทำสิ่งเดียวกัน นี่ไม่ใช่วิธีที่ เหมาะสมแน่นอน

เพื่อการปรับปรุงประสิทธิภาพ เราควรตัดสตริง เพียงครั้งเดียว แล้วบันทึกผลลัพธ์ ลงในตัวแปร จากนั้นจึงค่อยนำ ตัวแปรนั้นไปใช้ต่อ:

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

ปรับปรุงโค้ดด้านล่างนี้:

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

ปรับปรุงโค้ดด้านล่างนี้:

let date = new Date(); if (date.getDay() === 0 || date.getDay() === 6) { console.log('weekend'); } else { console.log('weekday'); }

ปรับปรุงโค้ดด้านล่างนี้:

let date = new Date(); let res; if (date.getFullYear() >= 2020 && date.getFullYear() <= 2030) { res = 'year ' + date.getFullYear() + ' fits'; } else { res = 'year ' + date.getFullYear() + ' doesn't fit'; } console.log(res)
ไทย
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣTürkmenTürkçeЎзбекOʻzbekTiếng Việt
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ