{"id":137,"date":"2026-05-05T11:03:05","date_gmt":"2026-05-05T11:03:05","guid":{"rendered":"https:\/\/gigz.pk\/javascript\/?post_type=lesson&#038;p=137"},"modified":"2026-05-05T11:03:06","modified_gmt":"2026-05-05T11:03:06","slug":"rest-parameters","status":"publish","type":"lesson","link":"https:\/\/gigz.pk\/javascript\/?lesson=rest-parameters","title":{"rendered":"Rest Parameters"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Introduction<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Rest Parameters in JavaScript allow functions to accept an indefinite number of arguments as an array. This makes your code more flexible and easier to manage when working with multiple inputs.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Understanding Rest Parameters<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Rest Parameters use three dots before a parameter name. This syntax collects all remaining arguments into a single array. It is especially useful when you do not know how many arguments will be passed to a function.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Syntax<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">function functionName(&#8230;params)<br>params represents an array containing all extra arguments<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Example<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">function sum(&#8230;numbers) {<br>let total = 0<br>for (let num of numbers) {<br>total += num<br>}<br>return total<br>}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">console.log(sum(10, 20, 30))<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In this example, all values passed into the function are gathered into the numbers array.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Key Features<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Rest Parameters collect multiple values into one variable<br>They simplify function definitions when handling many inputs<br>They return an array, allowing use of array methods<br>They improve code readability and flexibility<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Rules for Using Rest Parameters<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Only one rest parameter is allowed in a function<br>It must be the last parameter in the function<br>It gathers remaining arguments after named parameters<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Example with Other Parameters<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">function greet(message, &#8230;names) {<br>return message + &#8221; &#8221; + names.join(&#8220;, &#8220;)<br>}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">console.log(greet(&#8220;Hello&#8221;, &#8220;Ali&#8221;, &#8220;Sara&#8221;, &#8220;Ahmed&#8221;))<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Difference Between Rest Parameters and Spread Operator<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Rest Parameters collect arguments into an array<br>Spread Operator expands elements from an array or object<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Use Cases<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Handling multiple user inputs<br>Creating reusable utility functions<br>Working with dynamic data sets<br>Simplifying function arguments<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Conclusion<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Rest Parameters make JavaScript functions more powerful and flexible. They help developers write cleaner code by managing multiple arguments efficiently.<\/p>\n\n\n<div class=\"yoast-breadcrumbs\"><span><span><a href=\"https:\/\/gigz.pk\/javascript\">Home<\/a><\/span> \u00bb <span class=\"breadcrumb_last\" aria-current=\"page\">Advanced JavaScript > ES6+ Features > Rest Parameters<\/span><\/span><\/div>\n\n\n<div class=\"schema-faq wp-block-yoast-faq-block\"><div class=\"schema-faq-section\" id=\"faq-question-1777978905070\"><strong class=\"schema-faq-question\"><\/strong> <p class=\"schema-faq-answer\"><\/p> <\/div> <\/div>\n\n\n\n<div class=\"schema-faq wp-block-yoast-faq-block\"><div class=\"schema-faq-section\" id=\"faq-question-1777978904862\"><strong class=\"schema-faq-question\"><\/strong> <p class=\"schema-faq-answer\"><\/p> <\/div> <\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"menu_order":0,"template":"","class_list":["post-137","lesson","type-lesson","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Rest Parameters - Learn JavaScript with GIGZ.PK<\/title>\n<meta name=\"description\" content=\"Learn JavaScript rest parameters to handle multiple arguments easily and write flexible, clean, and efficient functions for web development\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/gigz.pk\/javascript\/?lesson=rest-parameters\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Rest Parameters - Learn JavaScript with GIGZ.PK\" \/>\n<meta property=\"og:description\" content=\"Learn JavaScript rest parameters to handle multiple arguments easily and write flexible, clean, and efficient functions for web development\" \/>\n<meta property=\"og:url\" content=\"https:\/\/gigz.pk\/javascript\/?lesson=rest-parameters\" \/>\n<meta property=\"og:site_name\" content=\"Learn JavaScript with GIGZ.PK\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-05T11:03:06+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":[\"WebPage\",\"FAQPage\"],\"@id\":\"https:\\\/\\\/gigz.pk\\\/javascript\\\/?lesson=rest-parameters\",\"url\":\"https:\\\/\\\/gigz.pk\\\/javascript\\\/?lesson=rest-parameters\",\"name\":\"Rest Parameters - Learn JavaScript with GIGZ.PK\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/gigz.pk\\\/javascript\\\/#website\"},\"datePublished\":\"2026-05-05T11:03:05+00:00\",\"dateModified\":\"2026-05-05T11:03:06+00:00\",\"description\":\"Learn JavaScript rest parameters to handle multiple arguments easily and write flexible, clean, and efficient functions for web development\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/gigz.pk\\\/javascript\\\/?lesson=rest-parameters#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/gigz.pk\\\/javascript\\\/?lesson=rest-parameters\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/gigz.pk\\\/javascript\\\/?lesson=rest-parameters#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/gigz.pk\\\/javascript\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Advanced JavaScript > ES6+ Features > Rest Parameters\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/gigz.pk\\\/javascript\\\/#website\",\"url\":\"https:\\\/\\\/gigz.pk\\\/javascript\\\/\",\"name\":\"Learn JavaScript with GIGZ.PK\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/gigz.pk\\\/javascript\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Rest Parameters - Learn JavaScript with GIGZ.PK","description":"Learn JavaScript rest parameters to handle multiple arguments easily and write flexible, clean, and efficient functions for web development","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/gigz.pk\/javascript\/?lesson=rest-parameters","og_locale":"en_US","og_type":"article","og_title":"Rest Parameters - Learn JavaScript with GIGZ.PK","og_description":"Learn JavaScript rest parameters to handle multiple arguments easily and write flexible, clean, and efficient functions for web development","og_url":"https:\/\/gigz.pk\/javascript\/?lesson=rest-parameters","og_site_name":"Learn JavaScript with GIGZ.PK","article_modified_time":"2026-05-05T11:03:06+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["WebPage","FAQPage"],"@id":"https:\/\/gigz.pk\/javascript\/?lesson=rest-parameters","url":"https:\/\/gigz.pk\/javascript\/?lesson=rest-parameters","name":"Rest Parameters - Learn JavaScript with GIGZ.PK","isPartOf":{"@id":"https:\/\/gigz.pk\/javascript\/#website"},"datePublished":"2026-05-05T11:03:05+00:00","dateModified":"2026-05-05T11:03:06+00:00","description":"Learn JavaScript rest parameters to handle multiple arguments easily and write flexible, clean, and efficient functions for web development","breadcrumb":{"@id":"https:\/\/gigz.pk\/javascript\/?lesson=rest-parameters#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/gigz.pk\/javascript\/?lesson=rest-parameters"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/gigz.pk\/javascript\/?lesson=rest-parameters#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/gigz.pk\/javascript"},{"@type":"ListItem","position":2,"name":"Advanced JavaScript > ES6+ Features > Rest Parameters"}]},{"@type":"WebSite","@id":"https:\/\/gigz.pk\/javascript\/#website","url":"https:\/\/gigz.pk\/javascript\/","name":"Learn JavaScript with GIGZ.PK","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/gigz.pk\/javascript\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/gigz.pk\/javascript\/index.php?rest_route=\/wp\/v2\/lesson\/137","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gigz.pk\/javascript\/index.php?rest_route=\/wp\/v2\/lesson"}],"about":[{"href":"https:\/\/gigz.pk\/javascript\/index.php?rest_route=\/wp\/v2\/types\/lesson"}],"wp:attachment":[{"href":"https:\/\/gigz.pk\/javascript\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=137"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}