Hi everyone! I'm the author of code.mu :)
I'd love to chat with my non-Russian audience. I'm looking for your feedback on the site and the translation quality. Let's chat:)
⊗jsPmROInr 294 of 505 menu
◀ ▶

ตัวดำเนินการ rest ใน JavaScript

บทเรียนนี้เราจะเริ่มต้นด้วยคำอธิบายบางส่วน บทเรียนก่อนหน้าทั้งหมดในส่วนนี้ฉันไม่ได้ บอกความจริงทั้งหมดกับคุณเกี่ยวกับตัวดำเนินการ ...

ในความเป็นจริงตัวดำเนินการนี้ขึ้นอยู่กับ ตำแหน่งในโค้ดสามารถเรียกได้ว่าเป็นตัวดำเนินการ spread หรือตัวดำเนินการ rest

ดังที่คุณทราบแล้ว เมื่อตัวดำเนินการ spread อยู่หน้าอาร์เรย์หรือสตริง มันจะแบ่ง พวกมันออกเป็นค่าแต่ละค่า ตัวดำเนินการ rest แม้ว่าจะมีไวยากรณ์เหมือนกันในรูปแบบ ... แต่มีไว้สำหรับวัตถุประสงค์อื่น

ตอนนี้เราจะมาหาคำตอบกัน ว่ามีไว้เพื่ออะไร สมมติ เรามีฟังก์ชันที่รับพารามิเตอร์สองตัว:

function func(a, b) { console.log(a); console.log(b); }

คุณควรทราบแล้วว่าหากส่งพารามิเตอร์เกิน เข้าไปในฟังก์ชัน จะไม่ทำให้เกิดข้อผิดพลาด:

func(1, 2, 3, 4, 5);

ตัวดำเนินการ rest ช่วยให้ได้รับ พารามิเตอร์ส่วนเกินทั้งหมดในรูปแบบของอาร์เรย์ สำหรับสิ่งนี้ ในฟังก์ชันจะเพิ่มพารามิเตอร์อีกหนึ่งตัว (จำเป็นต้องอยู่ สุดท้าย) โดยเขียน 3 จุดหน้าพารามิเตอร์นั้น:

function func(a, b, ...rest) { }

จุดสามจุดนี้คือตัวดำเนินการ rest และชื่อ ตัวแปรสามารถตั้งชื่ออะไรก็ได้ แต่ ปกติก็มักจะเรียกมันว่า rest เช่นกัน

ลองเรียกฟังก์ชันของเราด้วยจำนวนพารามิเตอร์ที่เกิน และดูสิว่าอะไรจะเข้าไปอยู่ในพารามิเตอร์ a และ b และอะไร - จะเข้าไปในส่วนที่เหลือ rest:

func(1, 2, 3, 4, 5); function func(a, b, ...rest) { console.log(a); // แสดงผล 1 console.log(b); // แสดงผล 2 console.log(rest); // แสดงผล [3, 4, 5] }

หากไม่มีพารามิเตอร์ส่วนเกิน ตัวแปร rest จะถูกบันทึกเป็นอาร์เรย์ว่าง:

func(1, 2); function func(a, b, ...rest) { console.log(a); // แสดงผล 1 console.log(b); // แสดงผล 2 console.log(rest); // แสดงผล [] }

ในฟังก์ชันอาจไม่มีพารามิเตอร์เลย แต่สามารถเพิ่ม rest เข้าไปได้ ในกรณีนี้สามารถเรียกฟังก์ชัน ด้วยจำนวนพารามิเตอร์เท่าใดก็ได้และทั้งหมด จะเข้าสู่อาร์เรย์ rest:

function func(...rest) { console.log(rest); }
← →
↑
ไทย▼
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
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ