#13 TIL - JS 여러가지 return

X's Dev·2024년 5월 31일
0

TIL

목록 보기
13/38

JavaScript에서 다양한 return 변형

이번 포스트에서는 JavaScript에서 다양한 return 변형에 대해 알아보려 한다.


기본적인 return 사용법

  • 값 반환: 특정 값을 반환하고 함수 실행을 종료한다.

    function add(a, b) {
        return a + b;  // 두 숫자의 합을 반환
    }
  • 아무 값도 반환하지 않음: 함수 실행을 종료하고 undefined를 반환한다.

    function doNothing() {
        return;  // 명시적으로 아무 값도 반환하지 않음
    }
  • 표현식 반환: 표현식을 평가한 결과를 반환한다.

    function double(x) {
        return x * 2;  // x의 두 배를 반환
    }
  • 함수 호출 반환: 다른 함수의 반환값을 반환한다.

    function getUserName(user) {
        return user.getName();  // user 객체의 getName 메서드 호출 결과를 반환
    }
  • 새 객체 반환: 새로운 객체를 생성하여 반환한다.

    function createPerson(name) {
        return new Person(name);  // 새로운 Person 객체를 반환
    }
  • 조건부 반환: 조건에 따라 다른 값을 반환한다.

    function getFee(isMember) {
        return isMember ? "$2.00" : "$10.00";  // 멤버인지 여부에 따라 다른 값을 반환
    }

고급 return 사용법

  • 조건부 반환: 특정 조건을 만족할 때만 값을 반환하고, 그렇지 않으면 다른 작업을 수행한다.

    function checkAge(age) {
        if (age < 18) {
            return "You are too young.";  // 조건이 만족되면 문자열을 반환하고 함수 종료
        }
        return "You are old enough.";  // 조건이 만족되지 않으면 다른 값을 반환
    }
  • 중첩된 반환: 함수 내부에서 다른 함수 호출의 결과를 반환한다.

    function outerFunction(x) {
        function innerFunction(y) {
            return y * 2;  // 내부 함수의 반환값
        }
        return innerFunction(x) + 1;  // 외부 함수에서 내부 함수 호출의 결과를 반환
    }
  • 함수 반환: 함수에서 다른 함수를 반환할 수 있다.

    function createMultiplier(multiplier) {
        return function (value) {
            return value * multiplier;  // multiplier를 사용하여 값을 반환하는 함수
        };
    }
    
    const double = createMultiplier(2);
    console.log(double(5));  // 10 출력
  • 비동기 반환: 비동기 함수(async function)에서 await 키워드를 사용하여 비동기 작업의 결과를 반환한다.

    async function fetchData(url) {
        const response = await fetch(url);  // 비동기 작업을 기다림
        const data = await response.json();
        return data;  // 비동기 작업의 결과를 반환
    }
  • 객체 프로퍼티로 반환: 함수가 여러 값을 반환해야 할 때 객체의 프로퍼티로 값을 반환한다.

    function getUserDetails() {
        return {
            name: "Alice",
            age: 30,
            city: "New York"
        };  // 객체를 반환
    }
  • 배열로 반환: 함수가 여러 값을 반환해야 할 때 배열로 값을 반환한다.

    function getCoordinates() {
        return [40.7128, -74.0060];  // 배열을 반환 (예: 위도, 경도)
    }
  • 함수 종료 시 반환: 함수 내에서 여러 반환 지점을 가질 수 있으며, 특정 조건을 만족하면 일찍 반환할 수 있다.

    function processValue(value) {
        if (value < 0) {
            return "Negative value";  // 일찍 반환
        }
        // 추가 로직
        return "Positive value";  // 최종 반환
    }
  • 디폴트 반환값: 함수가 명시적으로 값을 반환하지 않으면 undefined를 반환한다.

    function doNothing() {
        // 아무것도 반환하지 않음
    }
    
    console.log(doNothing());  // undefined 출력
  • 에러 처리 반환: 함수 내에서 에러가 발생했을 때 특정 값을 반환하거나 에러 메시지를 반환할 수 있다.

    function divide(a, b) {
        if (b === 0) {
            return "Error: Division by zero";  // 에러 메시지 반환
        }
        return a / b;  // 정상 결과 반환
    }

결론

JavaScript에서 return의 다양한 변형을 이해하고 적절히 사용하는 것은 중요한 프로그래밍 기술이다.
return을 효과적으로 활용하여 함수의 유연성과 가독성을 높일 수 있다.
각 상황에 맞는 return 방식의 선택은 코드를 더욱 명확하고 유지보수하기 쉽게 만든다.

profile
성장 기록하기

0개의 댓글