2017-10-31 16 views
0
var objectA = {x: 10, y: 10}; 
var objectB = objectA; 

    objectB.x = 100; 
    objectB.y = 100; 
    console.log(objectA) => {x: 100, y: 100} 

    but: 
    objectB = null; 
    console.log(objbectA) => {x: 10, y: 10} // Not null 

어떻게 objectA = null부터 objectB까지 설정할 수 있습니까?환경 설정 객체 javascript에 새 값을 설정하려면 어떻게해야합니까?

+0

수 없습니다. 객체는 참조를 통해 링크됩니다. 그래서 1의 변화는 다른 것에 영향을줍니다. 그러나'objectB = null'을 할 때,이 참조를 대체 할 것입니다. 따라서 링크가 끊어집니다. – Rajesh

+0

당신이 묻는 것은 불가능합니다. –

+1

참조 용 (lol) https://en.wikipedia.org/wiki/Reference_(computer_science) – Marie

답변

0

var objectB = objectA를 수행하면 실제 값이 아닌 참조 만 복사됩니다. 그래서 objectB를 null로 설정하면 null로 설정되지만 ObjectA의 참조는 여전히 유지됩니다.

0

수 없습니다. objectA를 null로 설정하더라도 객체 자체는 수정하지 않고 참조 만하면 null이되는 다른 객체를 가리 킵니다. 어쩌면 어떤 종류의 "nullobject"또는 null을 반환하는 것을 사용하려고합니까?