본문 바로가기
React/React Basic

[React] Object 특징

by CodeMia 2022. 5. 18.

object는 메모리에 포인팅을 한다. 

 

변수 obj1은 {name: 'Jane'} 오브젝트를 포인팅하고 있다. 

 

obj2 변수를 만들어 obj1으로 설정하면

obj1이 포인팅하는 오브젝트에 

obj2도 같이 {name: 'Jane'}으로 포인팅하고 있는다. 

 

 

strict equality 를 써서 같은지 물어보면 같다고 나온다. 

이 두 포인터가 같은 메모리에 포인팅하고 있는가? 라고 묻는 것이다. 

 

 

obj 1이 이름을 바꿔도 obj2도 같은 이름으로 동시에 바뀐다. 

벨류가 변해도 메모리는 같은 곳을 포인팅하게 된다. 

 

 

 

메모리가 새로 생기는 경우 

 

1. obj3는 obj1과 모양은 같지만 메모리를 따로 써서 만든 경우 

 

이 둘은 같은 메모리가 아니기에 같지 않다고 나온다.

 

 

 

2. obj 4에 벨류를 직접 입력하여 메모리를 따로 만든 경우 

 

 

obj1과 같지 않다고 나온다.

 

 

 

가리키고 있는 메모리가 바뀐 경우 

console.log()로 보면 벨류가 바뀌어 있지만 

UI에 있는 벨류는 이 전 그대로 있다. 

setState()를 써서

reder() 함수를 실행해 UI를 바꾸도록 한다. 

이제는 메모리에 변화가 있을 때마다 자동 렌더가 된다. 

 

댓글