Javascript / AngularJS : 모든 개체에 함수를 바인딩하거나 도우미 개체를 만드시겠습니까?

Gersom

구글링하는 방법을 전혀 모르겠습니다.

AngularJS를 사용하여 JSON 형식의 API에서 'persons'목록을 얻고이를 JS 배열 / 객체로 변환하는 경우 :

[
  {firstName: 'Foo', lastName: 'Bar'},
  {firstName: 'Banana', lastName: 'Fruit'}
]

그리고 이름과 성을 fullName에 결합하는 일반적인 기능을 원합니다.

그러면 일반적으로 솔루션 1 또는 2를 사용하는 것이 더 나은 것으로 간주됩니까?

솔루션 1 배열은 내부에 필요한 모든 메서드를 가진 객체로 구성됩니다.

[
  {firstName: 'Foo', lastName: 'Bar', fullName: function(){return this.firstName+' '+this.lastName;}},
  {firstName: 'Banana', lastName: 'Fruit', fullName: function(){return this.firstName+' '+this.lastName;}}
]

나는 이것이 가장 OOP 솔루션이라고 생각하지만 Javascript (및 긴 목록)의 경우에도 최상의 솔루션입니까?

해결 방법 2 한 번만 인스턴스화되는 도우미 함수를 만듭니다.

var helper = function(person)
{
   return person.firstName+' '+person.lastName;
}

나는 이것이 매우 기본적이라는 것을 알고 있지만 때로는 그것이 바로 잡기에 가장 좋은 것입니다.)

보리스 샤 르펜 티에

첫 번째 솔루션에서는 모든 객체에 함수를 추가하는 것이 힘들고, 많은 객체가 있고 다른 객체를 반복하면 그것이 최선이라고 생각하지 않습니다.

두 번째는 더 가볍습니다.

또 다른 아이디어 :

다음과 같이 JSON을 특정 개체로 구문 분석 할 수 있습니다.

JavaScript에서 JSON 문자열을 특정 개체 프로토 타입으로 구문 분석

그런 다음 프로토 타입을 사용합니다.

Foo.prototype.fullname = function (){
    return this.firstName+' '+this.lastName;
}

따라서 모든 Foo 객체는 프로토 타입을 통해 fullname ()을 호출 할 수 있습니다 (메모리에서는 한 번만 vs 모든 객체에서는).

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

개체를 통과하거나 새 개체를 만드시겠습니까?

분류에서Dev

angularjs $ scope에 JSON 개체를 추가 하시겠습니까?

분류에서Dev

오류 : LoginPage에 대한 모든 매개 변수를 확인할 수 없습니다 : ([개체 개체], [개체 개체], [개체 개체],?)

분류에서Dev

JavaScript-모든 개체 또는 특정 개체를 표시하는 방법

분류에서Dev

Couchbaselite change Changes는 문서가 하나만 변경된 경우에도 모든 개체를 반환합니다.

분류에서Dev

모든 모델 필드를 특정 개체와 바인딩

분류에서Dev

배열의 모든 개체에 대한 속성이 존재하도록 JavaScript 개체 리터럴을 정의 하시겠습니까?

분류에서Dev

원래 개체에 대한 포인터를 통해 Javascript 개체 속성을 변경 하시겠습니까?

분류에서Dev

도우미 함수를 사용하여 소스 개체에있는 경우에만 대상 개체에 속성 설정

분류에서Dev

속성 이름으로 중첩 된 개체를 검색하고 새 개체에 복사해도 모든 개체가 복사되지는 않습니다.

분류에서Dev

Javascript "클래스"의 인스턴스를 만들 때 모든 메서드에 액세스 할 수 있도록 개체를 구성하는 방법이 있습니까?

분류에서Dev

AngularJS / JavaScript는 다른 개체에서 새 개체를 만듭니다.

분류에서Dev

인터페이스를 사용하여 만든 개체에 값을 할당 하시겠습니까?

분류에서Dev

140 개 개체에 OnLeave 함수를 추가 하시겠습니까?

분류에서Dev

INotifyPropertyChanged에서 모든 도메인 개체를 상속하는 것에 반대하는 것이 있습니까?

분류에서Dev

모든 활동에 대해 단 하나의 ListAdapter를 만드시겠습니까?

분류에서Dev

목록에 새 개체를 추가하면 모든 개체가 마지막 개체처럼 보입니다.

분류에서Dev

JavaScript 개체를 확인하는 가장 좋은 방법에는 다른 JavaScript 개체의 모든 키가 있습니다.

분류에서Dev

Django : manytomany 필드에 개체를 포함하는 모든 부모 개체 가져 오기

분류에서Dev

개체에 별도의 개체를 추가 한 후 모든 개체의 벡터

분류에서Dev

개체를 Select2 옵션에 바인딩 하시겠습니까?

분류에서Dev

Django : 도우미 함수를 사용하여 모델 개체가있는 경우 가져 오는 방법?

분류에서Dev

더 나은 Java 코드로 간주되는 것은 무엇입니까? 클래스 변수를 만들고 모든 함수에 재사용하거나 모든 함수에 동일한 유형의 새 변수를 만드시겠습니까?

분류에서Dev

이 부모 개체를 자바 스크립트의 자식 개체에 바인딩하십시오.

분류에서Dev

개체를 회전하여 3D의 모든 각도에서 볼 수 있습니다.

분류에서Dev

다른 개체를 반환하는 도우미 메서드

분류에서Dev

JavaScript- 개체의 메서드를 사용하여 부모 배열에서 개체 제거

분류에서Dev

JavaScript- 개체의 메서드를 사용하여 부모 배열에서 개체 제거

분류에서Dev

Angular 컨트롤러 메서드에서 전체 개체를 모델 바인딩 할 수 있습니까?

Related 관련 기사

  1. 1

    개체를 통과하거나 새 개체를 만드시겠습니까?

  2. 2

    angularjs $ scope에 JSON 개체를 추가 하시겠습니까?

  3. 3

    오류 : LoginPage에 대한 모든 매개 변수를 확인할 수 없습니다 : ([개체 개체], [개체 개체], [개체 개체],?)

  4. 4

    JavaScript-모든 개체 또는 특정 개체를 표시하는 방법

  5. 5

    Couchbaselite change Changes는 문서가 하나만 변경된 경우에도 모든 개체를 반환합니다.

  6. 6

    모든 모델 필드를 특정 개체와 바인딩

  7. 7

    배열의 모든 개체에 대한 속성이 존재하도록 JavaScript 개체 리터럴을 정의 하시겠습니까?

  8. 8

    원래 개체에 대한 포인터를 통해 Javascript 개체 속성을 변경 하시겠습니까?

  9. 9

    도우미 함수를 사용하여 소스 개체에있는 경우에만 대상 개체에 속성 설정

  10. 10

    속성 이름으로 중첩 된 개체를 검색하고 새 개체에 복사해도 모든 개체가 복사되지는 않습니다.

  11. 11

    Javascript "클래스"의 인스턴스를 만들 때 모든 메서드에 액세스 할 수 있도록 개체를 구성하는 방법이 있습니까?

  12. 12

    AngularJS / JavaScript는 다른 개체에서 새 개체를 만듭니다.

  13. 13

    인터페이스를 사용하여 만든 개체에 값을 할당 하시겠습니까?

  14. 14

    140 개 개체에 OnLeave 함수를 추가 하시겠습니까?

  15. 15

    INotifyPropertyChanged에서 모든 도메인 개체를 상속하는 것에 반대하는 것이 있습니까?

  16. 16

    모든 활동에 대해 단 하나의 ListAdapter를 만드시겠습니까?

  17. 17

    목록에 새 개체를 추가하면 모든 개체가 마지막 개체처럼 보입니다.

  18. 18

    JavaScript 개체를 확인하는 가장 좋은 방법에는 다른 JavaScript 개체의 모든 키가 있습니다.

  19. 19

    Django : manytomany 필드에 개체를 포함하는 모든 부모 개체 가져 오기

  20. 20

    개체에 별도의 개체를 추가 한 후 모든 개체의 벡터

  21. 21

    개체를 Select2 옵션에 바인딩 하시겠습니까?

  22. 22

    Django : 도우미 함수를 사용하여 모델 개체가있는 경우 가져 오는 방법?

  23. 23

    더 나은 Java 코드로 간주되는 것은 무엇입니까? 클래스 변수를 만들고 모든 함수에 재사용하거나 모든 함수에 동일한 유형의 새 변수를 만드시겠습니까?

  24. 24

    이 부모 개체를 자바 스크립트의 자식 개체에 바인딩하십시오.

  25. 25

    개체를 회전하여 3D의 모든 각도에서 볼 수 있습니다.

  26. 26

    다른 개체를 반환하는 도우미 메서드

  27. 27

    JavaScript- 개체의 메서드를 사용하여 부모 배열에서 개체 제거

  28. 28

    JavaScript- 개체의 메서드를 사용하여 부모 배열에서 개체 제거

  29. 29

    Angular 컨트롤러 메서드에서 전체 개체를 모델 바인딩 할 수 있습니까?

뜨겁다태그

보관