JavaScript의 팩토리 함수에서 불변 객체를 반환하는 방법

파디

기본 함수가 온도 데이터를 인수로 받아들이고 데이터에 대해 간단한 온도 변환 작업을 수행합니다. 객체를 변경하지 않고 동일한 기능을 어떻게 수행 할 수 있습니까? 즉, 함수는 전달 된 인수를 변경하지 않아야하며 오히려 복사본을 반환해야합니다.

 function temperature(args) {
    convertToF = convertToC = temperatureConverter
    return Object.assign({
        args,
        convertToF,
        convertToC
    }, w.weatherData(args))
}

변환을 돕는 몇 가지 도우미 기능이 있습니다.

 function temperatureConverter(args) {
        const bool = args.unit === 'F'
        return (bool) ? self.Celsiusconverter(args) : self.fahrenheitConverter(args)
    }

    function Celsiusconverter(args) {
        args.value = (args.value - 32) * (5 / 9)
        args.unit = 'C'
        return {
            ...args
        }
    }

     function fahrenheitConverter(args) {
        args.value = (args.value * 9 / 5 + 32)
        args.unit = 'F'
        return {
            ...args
        }
    }

args 객체는 다음과 같습니다.

const objTemp1 = {
    unit: 'C',
    type: 'Temp',
    date: '2010-04-20T00:00:00.000Z',
    place: 'someCity',
    value: 10,
}
파디

그래서 기능은 다음과 같이 보일 것이고 문제가 해결됩니다.

function temperatureConverter(args) {
        const bool = newArgs.unit === 'F'
        return (bool) ? self.Celsiusconverter(args) : self.fahrenheitConverter(args)
    }

    function Celsiusconverter(args) {
        newArgs = {...args}
        newArgs.value = (newArgs.value - 32) * (5 / 9)
        newArgs.unit = 'C'
                return newArgs

    }

     function fahrenheitConverter(args) {
        newArgs = {...args}
        newArgs.value = (newArgs.value * 9 / 5 + 32)
        newArgs.unit = 'F'
                return newArgs

    }

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

const 객체의 팩토리를 수행하는 방법

분류에서Dev

JavaScript 팩토리 함수의 문서에서 "new"를 피하는 방법 (또는 반환 유형을 문서화하는 더 나은 방법)?

분류에서Dev

angularjs 팩토리에서 해결 된 후 함수의 결과를 반환하는 방법

분류에서Dev

특정 매개 변수가있는 객체를 반환하는 팩토리를 만드는 방법은 무엇입니까?

분류에서Dev

단일 컨트롤러에서 전역 변수를 만들고 Angularjs의 팩토리 내부에서 함수를 호출하는 방법

분류에서Dev

angularjs 팩토리에서 함수를 호출하는 방법

분류에서Dev

AngularJS 팩토리에 매개 변수를 전달하는 방법

분류에서Dev

객체에 대한 Javascript에서 불투명도를 변경하는 방법

분류에서Dev

매개 변수 팩으로 정의하는 멤버 함수의 std :: function 객체를 반환하는 방법은 무엇입니까?

분류에서Dev

루비에서 반환 된 불일치 유형의 객체를 수정하는 방법은 무엇입니까?

분류에서Dev

node.js의 mySQL 쿼리에서 JSON 객체를 반환하는 방법

분류에서Dev

Javascript의 전역 변수 및 then () JavaScript 함수에서 변수를 반환하는 방법

분류에서Dev

jquery / javascript에서 객체를 배열로 변환하는 방법

분류에서Dev

Javascript에서 객체를 배열로 변환하는 방법

분류에서Dev

키-값 쌍을 포함하는 객체를 JavaScript에서 객체 배열로 변환하는 방법

분류에서Dev

C ++에서 여러 객체를 반환하는 방법과 그럼에도 불구하고 RVO의 이점

분류에서Dev

방법의 순서를 리팩토링

분류에서Dev

객체 리터럴에서 다른 JS 함수의 반환 값을 사용하는 방법

분류에서Dev

Scala에서 제네릭 유형으로 객체를 반환하는 함수를 처리하는 방법

분류에서Dev

함수에서 객체 C ++의 값을 변경하는 방법

분류에서Dev

사용자 객체를 반환하는 함수를 모의하는 방법

분류에서Dev

다른 함수 내부의 함수에서 반환 변수를 얻는 방법

분류에서Dev

자바에서 객체를 불변으로 만드는 방법

분류에서Dev

매개 변수를 기반으로 팩토리에서 인스턴스를 가져 오는 방법

분류에서Dev

nls 객체에서 nlfb 객체를 변환하는 방법

분류에서Dev

C의 팩토리얼 알고리즘 : 이전 반복의 결과를 문자열에 저장하는 방법?

분류에서Dev

JavaScript에서 함수로 객체를 빌드하는 방법

분류에서Dev

$ .getJSON 함수에서 변수를 반환하는 방법

분류에서Dev

Helm 함수의 템플릿에서 맵 객체를 반환하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    const 객체의 팩토리를 수행하는 방법

  2. 2

    JavaScript 팩토리 함수의 문서에서 "new"를 피하는 방법 (또는 반환 유형을 문서화하는 더 나은 방법)?

  3. 3

    angularjs 팩토리에서 해결 된 후 함수의 결과를 반환하는 방법

  4. 4

    특정 매개 변수가있는 객체를 반환하는 팩토리를 만드는 방법은 무엇입니까?

  5. 5

    단일 컨트롤러에서 전역 변수를 만들고 Angularjs의 팩토리 내부에서 함수를 호출하는 방법

  6. 6

    angularjs 팩토리에서 함수를 호출하는 방법

  7. 7

    AngularJS 팩토리에 매개 변수를 전달하는 방법

  8. 8

    객체에 대한 Javascript에서 불투명도를 변경하는 방법

  9. 9

    매개 변수 팩으로 정의하는 멤버 함수의 std :: function 객체를 반환하는 방법은 무엇입니까?

  10. 10

    루비에서 반환 된 불일치 유형의 객체를 수정하는 방법은 무엇입니까?

  11. 11

    node.js의 mySQL 쿼리에서 JSON 객체를 반환하는 방법

  12. 12

    Javascript의 전역 변수 및 then () JavaScript 함수에서 변수를 반환하는 방법

  13. 13

    jquery / javascript에서 객체를 배열로 변환하는 방법

  14. 14

    Javascript에서 객체를 배열로 변환하는 방법

  15. 15

    키-값 쌍을 포함하는 객체를 JavaScript에서 객체 배열로 변환하는 방법

  16. 16

    C ++에서 여러 객체를 반환하는 방법과 그럼에도 불구하고 RVO의 이점

  17. 17

    방법의 순서를 리팩토링

  18. 18

    객체 리터럴에서 다른 JS 함수의 반환 값을 사용하는 방법

  19. 19

    Scala에서 제네릭 유형으로 객체를 반환하는 함수를 처리하는 방법

  20. 20

    함수에서 객체 C ++의 값을 변경하는 방법

  21. 21

    사용자 객체를 반환하는 함수를 모의하는 방법

  22. 22

    다른 함수 내부의 함수에서 반환 변수를 얻는 방법

  23. 23

    자바에서 객체를 불변으로 만드는 방법

  24. 24

    매개 변수를 기반으로 팩토리에서 인스턴스를 가져 오는 방법

  25. 25

    nls 객체에서 nlfb 객체를 변환하는 방법

  26. 26

    C의 팩토리얼 알고리즘 : 이전 반복의 결과를 문자열에 저장하는 방법?

  27. 27

    JavaScript에서 함수로 객체를 빌드하는 방법

  28. 28

    $ .getJSON 함수에서 변수를 반환하는 방법

  29. 29

    Helm 함수의 템플릿에서 맵 객체를 반환하는 방법은 무엇입니까?

뜨겁다태그

보관