JS에 대한 단편적인 사실들

JH Bang·2023년 5월 15일
0

프론트엔드

목록 보기
6/6
post-thumbnail

🟡 JS는 숫자 데이터를 일률적으로 64비트로 저장한다. c언어에서는 int/float 등 타입에 따라 메모리 크기가 다르지만 JS는 일률적이다.

🟡 JS에서 값을 대입한 변수는 그 값을 가진 것이 아니라 그 값을 가리키는 메모리 주소를 갖고 있다.

🟡 JS에는 참조 카운트가 있어서 아무도 참조하지 않는 메모리는 수거(GC)된다.

🟡 JS에서 원시형이나 참조형 모두 사실은 특정 데이터에 대한 주소를 참조하고 있는 것이다. 참조형은 단지 참조를 중첩해서 한 것에 불과하다.

🟡 JS에서는 함수 선언식보다는 함수 표현식을 사용하는 것이 더 안전하다.

🟡 JS에서 this는 활성화된 실행 컨텍스트를 가리킨다. 활성화되지 않으면 전역객체를 가리킨다. 따라서 함수로서 호출할때는 전역객체를, 메서드로서 호출할 때는 객체를 가리킨다.

🟡 this는 변수에 저장이 가능하다. 변수로 저장해놓으면 해당 객체를 언제든지 불러올 수 있다.

🟡 화살표 함수는 this 바인딩을 생략하므로 상위 스코프의 this를 활용 가능하다.

🟡 JS에서 클로저는 외부 함수의 변수를 내부 함수가 참조하는 상황에서 내부 함수를 다른 컨텍스트에 전달해서 사용할 때 일어나는 현상이다. 이는 GC의 참조 카운트와 연관이 있다.

🟡 참조 카운트를 0으로 만들면 GC가 메모리를 수거한다. 카운트를 0으로 만드는 방법은 변수에 null 또는 원시타입을 할당하는 것이다.

profile
의지와 행동

0개의 댓글