Meerdere waarden teruggeven in JavaScript?
Ik probeer twee waarden terug te geven in JavaScript. Is dat mogelijk?
var newCodes = function() {
var dCodes = fg.codecsCodes.rs;
var dCodes2 = fg.codecsCodes2.rs;
return dCodes, dCodes2;
};
754
3
Nee, maar je zou een array met je waarden kunnen teruggeven:
Dan kun je ze als volgt benaderen:
Met de nieuwste ECMAScript 6 syntax*, kun je de return waarde ook intuïtiever destructureren:
Als u "labels" op elk van de geretourneerde waarden wilt zetten (gemakkelijker te onderhouden), kunt u een object retourneren:
En om ze te benaderen:
Of met ES6 syntaxis:
U kunt dit doen vanaf Javascript 1.7 met behulp van "destructuring assignments". Merk op dat deze niet beschikbaar zijn in oudere Javascript versies (dat wil zeggen - noch met ECMAScript 3e noch 5e edities).
Hiermee kun je aan 1+ variabelen tegelijk toewijzen:
Je kunt ook object destructuring gecombineerd met property value shorthand gebruiken om de return values in een object een naam te geven en diegene eruit te pikken die je wilt:
En tussen haakjes, laat je niet misleiden door het feit dat ECMAScript je toestaat om
return 1, 2, ...
. Wat daar werkelijk gebeurt is niet wat het lijkt. Een uitdrukking in return statement -1, 2, 3
- is niets anders dan een komma operator toegepast op numerieke literalen (1
,2
, en3
) opeenvolgend, die uiteindelijk evalueert naar de waarde van de laatste uitdrukking -3
. Daarom isreturn 1, 2, 3
functioneel identiek aan niets meer danreturn 3
.Stuur gewoon een letterlijk object terug