본문 바로가기
Programming Language/JavaScript

[JavaScript] 함수 여러 값 return 하기

by veggie-garden 2021. 10. 11.

JavaScript의 함수는 하나의 값 밖에 리턴하지 못한다.

function veggie() {
	const job = 'Developer';
    const studying = 'JavaScript';

	return (job, studying);
}

const veggieDetail = veggie();

 

위의 코드가 안 된다는 의미다. 실행해보면, studying은 정상적으로 리턴이 되나, job은 리턴이 되지 않는다. 

 

그럼 어떻게 두 개 이상의 값을 리턴할 수 있을까? 배열을 사용하면 된다. [각주:1]

 

리턴 값을 배열로 반환하기

function veggie() {
	const job = 'Developer';
    const studying = 'JavaScript';

	return [job, studying];
}

const veggieDetail = veggie();

 

[job, studying]형태로 반환하면 각각의 값이 배열에 감겨 반환된다. 아래의 사진을 보면 잘 실행되는 것을 볼 수 있다.

 

 

위와 같이 하나의 변수에 배열은 담아도 되지만 아래와 같이 사용해도 된다.

 

const [job, studying] = veggie();

 

 

리턴 값을 오브젝트로 반환하기

function veggie() {
	const job = 'Developer';
    const studying = 'JavaScript';

	return {
		job, 
		studying
	};
}

const job = veggie().job;
const studying = veggie().studying;

 

오브젝트로 반환하는 방법도 있다. 위와 같이 코드를 작성해도 되고, 아래와 같이 작성해도 가능하다.

 

const {job, studying} = veggie();

 


참조

1. https://www.javascripttutorial.net/javascript-return-multiple-values/

 

Returning Multiple Values from a Function

In this tutorial, you will learn how to develop JavaScript functions that return multiple values.

www.javascripttutorial.net

2. https://stackoverflow.com/questions/2917175/return-multiple-values-in-javascript

 

Return multiple values in JavaScript?

I am trying to return two values in JavaScript. Is this possible? var newCodes = function() { var dCodes = fg.codecsCodes.rs; var dCodes2 = fg.codecsCodes2.rs; return dCodes, dCode...

stackoverflow.com


 

댓글