본문 바로가기

JAVASCRIPT

[JS] const를 조작할 수 있는 경우

노마드코더 챌린지가 끝나고 챌린지 도중 궁금했던 부분을 더 세세히 이해하기 위해 윤인성 강사님의 유튜브 강의를 들었는데 너무 설명을 잘해주셔서 잊어버리기 전에 기록!

오늘의 궁금증:

const는 재선언, 재할당이 불가능하다고 배웠는 데 const a=[1,2]같은 array에 추가로 값을 넣을 수 있다고?왜??

 

 

이를 이해하기 위해선 스택과 힙에 대해 먼저 알아야 합니다

 

 

-스택: 기본 자료형과 주소 등을 저장하는 메모리 공간

(여기서 기본 자료형은 숫자, 문자열, 불 등을 의미)

-힙: 복합 자료형을 저장하는 메모리 공간

(복합 자료형은 배열, 함수, 객체 등을 의미)

-주소: 저장된 자료의 위치

-레퍼런스한다: 스택의 주소가 힙의 자료를 가리키는 것

-레퍼런스 변수: 스택에 저장된 것중에 주소가 저장된 변수

const의 제한

-const는 스택에 있는 값 변경할 때 오류발생

-힙에 있는 레퍼런스 된 복합 자료형을 조작하는 것에는 문제 없음!

 

+따라서 array는 힙에 저장되니까 값이 추가되어도 문제 없음!!!

 

*참고

 

https://www.youtube.com/watch?v=9tbjjZb65ng&t=609s

'JAVASCRIPT' 카테고리의 다른 글

[JS] callback  (0) 2022.03.07
[JS] ES6 : Spread Operatot (스프레드 연산자)  (0) 2022.02.02
[JS ] 백틱(` `) 사용법  (0) 2022.02.02
[JS] 이벤트 알아보기  (0) 2022.02.01
[JS] HTML in Javascript  (0) 2022.02.01