var name = ksw
ksw = {
id = 1,
spelling = kwonsoonwoo
}
-
Java와 JavaScript에서는 변수 선언시 해당 값이 들어가는게 아니라
메모리 주소값을 참조한다
var name.spelling = "1"
- 변수의 1depth로 또다른 변수를 선언하면 원본에 있는 해당 변수의 값을 찾는다.
- 위와 같이 선언하면 기존
name
이라는 변수에는spelling
이라는 변수가 없었기 때문에name.spelling
이 아니라ksw.spelling
을 참조하게 됨 - 따라서, 위와 같이 하게 되면
ksw.spelling
의 value가 1로 바뀐다.
var name = angular.copy(ksw)
- 이를 방지하기 위해선 copy를 해서 독립적인 변수로 만들어야 한다.
Comments