js 콜스택은 c랑은 다르게 어떤 객체가 쌓이는거 같은데(아마도 execution context??)이 객체 포인터가 스택메모리에 쌓이는거야?아니면 js 엔진위에 따로 구현된 스택에 쌓이는거야?검색 해봐도 잘 모르겠음
js엔진에서 관리할듯
이 문제에 제대로 답한건 영문블로그 하나 겨우 찾았는데 걔는 스택메모리에 저장된다네 근데 출처도없고 믿을수가없음 내생각에도 엔진위에 구현되어있을것같은데
GC 있는 언어에서 객체를 스택에 할당하는 말은 C#(Struct로 선언한 값 타입)이랑 함수형언어 중에 하나 밖에 없는 걸로 앎. 아마 아닐 것같음
명확한 답이 나와있는 믿을만한 레퍼런스는 못찾았지만, 정황상 힙에 저장되는게 맞을것같다.
이거 참고하면 될듯?
https://poiemaweb.com/js-execution-context
정독했는데 그런 내용이 없는데??
당연히 js 엔진이 관리하는 거 아님? 근데 본문 내용을 제대로 이해 못하겠어 스택메모리랑 js 엔진이 구현한 스택이랑 차이가 머임?
https://stackoverflow.com/questions/47964439/where-is-the-javascripts-execution-stack-used-on-the-pc
이
글처럼 os가 관리하는 메모리 스택이랑 js 엔진이 관리하는 메모리 스택 차이를 얘기하는 건가? js 엔진 위에 스택 구현해서 쓴다는게 무슨뜻이지..?
메모리에 스택영역이라는게 있어. C언어의 콜스택은 여기에 저장됨. 근데 js의 콜스택은 아무래도 스택이 아니라 힙에 저장되는것같은데 정확한 자료를 못찾겠다. Js엔진 위에 따로구현된 스택은 jvm의 스태틱영역같은게 있나 말한거였어. 원래 c언어의 전역변수는 메모리의 데이터영역에 저장되는데, 자바같은경우는 jvm위에 따로 구현된 스태틱영역에 저장되거든
그 스태틱영역은 메모리의 힙에 저장되고. Js는 이런 정보를 찾기가 힘드네