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
&b
are 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
'programing' 카테고리의 다른 글
SwiftyJSON을 사용한 문자열 배열 해석 방법 (0) | 2023.03.12 |
---|---|
WooCommerce 재설치 후 인트로덕션 온보딩 마법사를 다시 활성화하는 방법 (0) | 2023.03.12 |
NSURLRequest를 사용하여 Http 요청에서 json 데이터를 전송하는 방법 (0) | 2023.03.07 |
Spring-Boot에서 실제 가동 중에 application.properties를 덮어쓰는 방법 (0) | 2023.03.07 |
내보내기, react.module의 여러 모듈 (0) | 2023.03.07 |