ప్రధాన కంటెంట్‌కు వెళ్లండి
మాడ్యూల్ 4 · 4లో పాఠం 3కోర్సులో 15/32~12 min
మాడ్యూల్ పాఠాలు (3/4)

డిఫాల్ట్ మరియు మిగిలిన పారామితులు

JavaScript పారామితులను ** ఐచ్ఛికం** (డిఫాల్ట్ విలువతో) చేయడానికి మిమ్మల్ని అనుమతిస్తుంది మరియు మిగిలిన ఆపరేటర్ (...)తో వేరియబుల్ నంబర్ ఆర్గ్యుమెంట్‌లను అంగీకరించండి.

డిఫాల్ట్ పారామితులు

JS
function saluta(nome, prefisso = 'Ciao') {
  return `${prefisso}, ${nome}!`;
}

saluta('Anna'); // 'Ciao, Anna!'
saluta('Marco', 'Buongiorno'); // 'Buongiorno, Marco!'

ఆర్గ్యుమెంట్ undefined ("పాస్ కాలేదు" కేసుతో సహా) అయినప్పుడు మాత్రమే డిఫాల్ట్ వర్తిస్తుంది. null లేదా 0 కోసం డిఫాల్ట్ కాదు కిక్ ఇన్ చేస్తుంది:

JS
function f(x = 10) {
  return x;
}
f(); // 10
f(undefined); // 10
f(null); // null
f(0); // 0

విశ్రాంతి: ...names

వేరియబుల్ ఆర్గ్యుమెంట్‌ల సంఖ్యను ఆమోదించడానికి, వాటిని ...తో శ్రేణిలో సేకరించండి:

JS
function somma(...numeri) {
  let totale = 0;
  for (const n of numeri) totale += n;
  return totale;
}

somma(); // 0
somma(5); // 5
somma(1, 2, 3, 4); // 10

ఫంక్షన్ లోపల, numeri అనేది నిజమైన శ్రేణి (పాత ఫంక్షన్‌ల యొక్క మ్యాజిక్ arguments వస్తువు కాదు).

మిగిలినవి తప్పక చివరి పారామీటర్ అయి ఉండాలి:

JS
function f(primo, ...altri) {
  /* ok */
}
// function f(...altri, ultimo) {} // SyntaxError

కాల్ సమయంలో వ్యాప్తి చెందుతుంది

... యొక్క మరొక ముఖం స్ప్రెడ్ ఆపరేటర్, ఇది కాల్ సమయంలో ప్రత్యేక ఆర్గ్యుమెంట్‌లుగా శ్రేణిని "పేలుస్తుంది":

JS
function somma(a, b, c) {
  return a + b + c;
}

const nums = [1, 2, 3];
somma(...nums); // 6, equivalent to somma(1, 2, 3)

దీనిని ప్రయత్నించండి

వ్యాయామం#js.m4.l3.e1
ప్రయత్నాలు: 0లోడ్ అవుతోంది...

`సమ్(ఎ, బి)` ఫంక్షన్‌ను నిర్వచించండి, ఇక్కడ `బి`కి డిఫాల్ట్ విలువ 0 ఉంటుంది. ఇది తప్పనిసరిగా ఈ నిర్థారణలను పాస్ చేయాలి: సమ్(5) === 5, సమ్(2, 3) === 5, సమ్(0) === 0.

ఎడిటర్ లోడ్ అవుతోంది…
సూచనను చూపించు

ఫంక్షన్ మొత్తం(a, b = 0) {రిటర్న్ a + b; }

3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది

వ్యాయామం సమీక్షించండి

వ్యాయామం#js.m4.l3.e2
ప్రయత్నాలు: 0లోడ్ అవుతోంది...

దాని ఆర్గ్యుమెంట్‌ల యొక్క అంకగణిత సగటును అందించే ఫంక్షన్ `మీన్(...నమ్స్)` లేదా ఏదీ పాస్ కాకపోతే 0ని నిర్వచించండి.

ఎడిటర్ లోడ్ అవుతోంది…
సూచనను చూపించు

nums.length 0 అయితే, 0ని తిరిగి ఇవ్వండి; లేకపోతే మొత్తం మరియు భాగహారం.

3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది