Lisää
Oletusarvoisen parametrin asettaminen JavaScript-funktiolle
Haluaisin, että JavaScript-funktiolla on valinnaisia argumentteja, joille asetan oletusarvon, jota käytetään, jos arvoa ei ole määritetty (ja jota ei oteta huomioon, jos arvo on annettu). Rubyssä voit tehdä sen näin:
def read_file(file, delete_after = false)
# code
end
Toimiiko tämä JavaScriptissä?
function read_file(file, delete_after = false) {
// Code
}
2271
3
ES6/ES2015, oletusparametrit ovat kielen määrittelyssä.
vain toimii.
Viite: Oletusparametrit - MDN
Voit myös simuloida oletusarvoisia nimettyjä parametreja rakenneuudistuksen avulla:
Pre ES2015,
On monia tapoja, mutta tämä on suosikkini - sillä voit syöttää mitä tahansa, myös false tai null. (
typeof null == "object"
))Tämä määrittää
delete_after
:lledelete_after
:n arvon, jos se ei ole väärennetty arvo, muutoin se määrittää merkkijonon"minun oletusarvoni tässä"
. Tarkempia tietoja saat Doug Crockfordin'n katsauksesta kieleen ja tutustu kappaleeseen Operaattorit.Tämä lähestymistapa ei toimi, jos haluat antaa väärän arvon eli
false
,null
,undefined
,0
tai""
. Jos haluat syöttää väärät arvot, sinun on käytettävä Tom Ritterin vastauksessa esitettyä menetelmää.Kun funktiossa on useita parametreja, on usein hyödyllistä antaa kuluttajan siirtää parametriargumentit objektina ja sulauttaa nämä arvot sitten objektiin, joka sisältää funktion oletusarvot.
käytettäväksi
Minusta tällainen yksinkertainen muotoilu on paljon tiiviimpi ja helppolukuisempi.