나는 책보고 공부하는 스타일이 아니고

프로젝트 진행하면서 경험하는 스타일이라서

하나하나 깊게 알고있는 게 거의 없다.


prototype 도 그중 하나,,

어떻게 쓰는지는 알고있지만, 조금이라도 응용되어있으면 와 이게 뭐람... 한다.


이번에 npm module 하나를 뜯어봐야 할 일이 있어서

prototype 을 이해해보려 검색했는데


[Javascript ] 프로토타입 이해하기


요기 정리가 넘나 잘 되어 있는 것,,



근데 보다보니 궁금해진 게 있다.


Prototype Link 를 통해 모든 Object 가 자기 조상함수의 Prototype Object 를 참조하는 거라면

음,, 변수가 공유되어야 하지 않나?

((((((내 머릿속 : 참조 == 주소값 공유))))))


그냥 개념도만 저런 거지 메모리는 분린가?

어떻게 되는 거지?


혹여나 실행해봤는데


> function Animal() {};

undefined

> Animal.prototype.legs = 4

4

> var dog = new Animal();

undefined

> dog.legs

4

> var worm = new Animal();

undefined

> worm.legs

4

> worm.legs = 0

0

> worm.legs

0

> dog.legs

4



위처럼 확실히 instance 끼리는 Prototype Object 에 추가해준 속성값을 공유하진 않는다.


우엑 뭐야


이건 더 검색해봐야 할 것 같다.

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Statements/let


정리 매우 잘 되어있다.


사실 javascript 에도 let 이 있다는 걸 얼마전에 알아서

음,, 뭐 swift 에서의 var / let 차이랑 비슷하지 않을까? 했었는데

전혀 다르군요,,,,,,,, 큰일날뻔했네요,,,,,,,,,,,,,,,,,,,,


유효범위차이였군!!


하긴 javascript 에서의 var 유효범위 너무,, 너무 방대하고 관대해서 헷갈린다.

앞으로는 let 을 잘 활용할 수 있길..!

http://resoneit.blogspot.co.uk/2014/01/this.html


javascript는

알면 알수록 너무 복잡하다.


즉당히 조금 알 때가 가장 편한 언어



+) 미지의 똥 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 넘 공감,,




++) 

this 똥이 new 와 생성자를 빼먹고 쓴 코드에서도 의도대로 잘 돌아가도록 하는 법 

http://redgolems.tistory.com/33

+ Recent posts