programing

angular.copy()와 할당(=)의 차이점은 무엇입니까?

batch 2023. 3. 12. 10:35
반응형

angular.copy()와 할당(=)의 차이점은 무엇입니까?

이벤트 매개 변수를 통해 버튼 클릭 이벤트가 발생할 때 몇 가지 값을 할당하고 싶다.

$scope.update = function(context) {
    $scope.master = context;
};

할당했습니다.user에 대한 가치관$scope.master.

이것으로 angular.copy()표시됩니다.그래서 angular.copy로 코드를 작성했습니다.

$scope.update = function(context) {
    $scope.master = angular.copy(context)
};

둘 다 똑같은데 뭐가 달라?어떻게 다른지 알려주세요.angular.copy()그리고.equal(=).

여기서 알 수 있듯이 angular.copy()는 딥 카피를 실행합니다(cf).할당 연산자를 사용하는 동안 인수의 "복제" - 기본적으로 새 개체 생성=참조만 할당합니다.

따라서 후자의 경우, 만약 당신이 다음에서 무언가를 바꾸게 된다면$scope.master너 또한 변할 것이다context.

건배.

=참조를 나타내는 반면,angular.copy()는 새로운 객체를 딥카피로 만듭니다.

사용.=의 속성을 변경하는 것을 의미합니다.context대응하는 특성을 바꿀 수 있다$scope.master또는 그 반대도 마찬가지입니다.

사용.angular.copy()두 물체는 분리된 상태로 유지되며 변화는 서로에게 반영되지 않습니다.

Javascript에서 int와 같은 원시 유형을 조작하면=그리고.angular.copy는 변수 값을 복사하는 모든 할당 결과와 동일합니다.

Javascript에서 오브젝트를 조작하면=기존 객체에 대한 참조를 변수에 할당하고angular.copy복사입니다. 즉, 동일한 속성과 값을 가진 새 개체를 만들고 새 개체의 참조를 변수에 할당하는 것입니다.

간단하게

angular.copy()와 같다.clone()dept.에서 동일한 오브젝트 복사본을 생성하여 반환하는 jquery의 경우(값별 호출)

=기준값(기준에 의한 호출)을 사용하여 값을 할당합니다.

a = b이 안에b값이 할당되다a단, 둘 다a&bare array 、 ina에 반영되다b및 그 반대도 마찬가지입니다.

과제에서는 오브젝트의 참조를 공유합니다.angular.copy를 사용하면 동일한 오브젝트 세부사항을 가진 새 참조점이 생성됩니다.

var user1={name:'hello'};

오브젝트{name:'hello'}참조점이 있습니다(예를 들어 123으로 user1에 저장되어 있습니다).기입할 때

var user2=var user1; //reference point of user2 is also 123 
user2.name="world"; //we update the object in 123
console.log(user1.name); //answer is "world" because reference object is updated

user2에서 무언가를 변경할 때 user1을 업데이트하지 않으려면 복사본을 작성해야 합니다.우리는 할 수 있다

var user2=angular.copy(user1);

또는

var user2=Object.assign({},user1);

언급URL : https://stackoverflow.com/questions/29749433/what-is-the-difference-between-angular-copy-and-an-assignment

반응형